BOJ 2

[BOJ-9663] N-Queen - JAVA 풀이

N-Queen문제N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다.N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. (1 ≤ N 출력첫째 줄에 N이 주어진다. (1 ≤ N 예제 입력8예제 출력92아이디어대표적인 백트래킹 문제다 휘발되기 전에 정리해보자..대각선에 놓을 수 없고 매 행마다 열, 대각선에 놓일수 없는지를 체크해야한다어떤 영상인지는 정확히 기억은 안나지만 백트래킹을 이해하기 좋은 비유가 있었는데 도미노를 하나씩 놓고 마지막에 놓은 도미노를 넘어뜨리는걸 연상하라는 내용이었다 확실히 이미지로 기억하면 도움이 되는거 같다 JAVA 풀이import java.io.*;public class Main {..

알고리즘 2024.12.09

[BOJ-1641] 도서관 JAVA 풀이

도서관문제세준이는 도서관에서 일한다.도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다.세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다.각 책들의 원래 위치가 주어질 때, 책을 모두 제자리에 놔둘 때 드는 최소 걸음 수를 계산하는 프로그램을 작성하시오.세준이는 한 걸음에 좌표 1칸씩 가며, 책의 원래 위치는 정수 좌표이다.책을 모두 제자리에 놔둔 후에는 다시 0으로 돌아올 필요는 없다.그리고 세준이는 한번에 최대 M권의 책을 들 수 있다.첫째 줄에 책의 개수 N과, 세준이가 한 번에 들 수 있는 책의 개수 M이 주어진다.둘째 줄에는 책의 위치가 주어진다.N과 M은 50보다 작거나 같은 자연수이다.책의 위치는 0이 아니며, 절댓값은 10,000보다 작거..

알고리즘 2024.09.30