본문 바로가기
반응형
SMALL

백트래킹2

[백준] 9663 N-Queen (Java/자바) 문제https://www.acmicpc.net/problem/9663  문제풀이처음에는 map을 2차원 배열로 잡고 무지성으로 Brute Force 방법으로 풀었으나 당연하게도 시간초가 났다.이 문제를 푸는 방법에 대해서는 다른 블로그를 참고하여 풀었는데 그 방법을 보아하니 아래와 같은 로직으로 풀게 되어있었다. (사전지식)Queen 은 상/하/좌/우/대각선으로 마음대로 움직일 수 있다. 따라서 Queen의 상, 하, 좌, 우 (= 다른 말로 Queen이 놓여진 행/열)의 index와 같은 Queen은 무조건 공격 받는다. 그렇기 때문에 map의 크기를 2차원 배열로 사용하지 않고 1차원 배열로 해놓고 map의 index를 열로, map 안의 원소의 값를 행으로 생각하고 문제를 푼다. 1. Queen을 .. 2024. 7. 23.
[백준] 2580 스도쿠 (Java/자바) 문제https://www.acmicpc.net/problem/2580  문제풀이백트래킹 문제로 아래와 같은 흐름을 따른다. 1. 현재 위치에서 가능한 번호를 넣은 채 다음으로 넘어간다.2. 순서대로 map 전체를 탐방하며 가능한 번호로 계속 넘어간다.3. 만약, 중간에 가능한 번호가 없는 구역이 나타나면 이전으로 넘어가서 가능한 번호를 다시 탐색한다.4. 1~3번을 반복하며 map의 끝까지 갔을 경우 종료한다. 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static int[][] map = new int[9][9]; .. 2024. 7. 23.
반응형
SMALL