-
https://www.acmicpc.net/problem/2580
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%202580
https://www.acmicpc.net/problem/2239
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%202239
해당 문제들은 스도쿠가 주어졌을 때 완성시켜 출력시키는 문제다.
최근 2580문제를 풀고 있던 중 2239문제를 풀게 되면서 2239 소스를
2580문제에 알맞게 변형해서 두문제 모두 해결하게 되었다.
먼저 처음에 나는 큐를 이용해서 0인 부분을 모두 넣어준 뒤 큐가 빌 때까지 반복하면서
빼와서 가로 세로 3*3 비교를 해서 없는 숫자가 하나면 해당 숫자를 넣어주고
그렇지 않으면 다시 큐에 넣는 식으로 문제를 풀었는데
시간 초과가 발생했고, 이후 리스트를 이용해 0인 부분을 큐에 넣어준 뒤
가로 세로 3*3을 체크하면서 방문하지 않은 숫자가 있으면 그냥 그 숫자를 넣고
다시 재귀를 하는 방식으로 진행해서 최종적으로
카운트 숫자가 리스트의 숫자와 같아지면 모두 체크되었기 때문에 해당 부분에 대해서
출력을 해준 뒤 프로그램을 종료시켜주는 방식으로
문제를 해결하였다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 1182 부분수열의 합 JAVA (0) 2021.11.15 Baekjoon 17471 게리맨더링 JAVA (0) 2021.11.15 Baekjoon 1240 노드사이의 거리 JAVA (0) 2021.11.14 Baekjoon 4963 섬의 개수 JAVA (0) 2021.11.14 Baekjoon 2174 로봇 시뮬레이션 JAVA (0) 2021.11.14 댓글