-
https://www.acmicpc.net/problem/2580
2580번: 스도쿠
스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%202580
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
https://www.acmicpc.net/problem/2239
2239번: 스도쿠
스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%202239
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제들은 스도쿠가 주어졌을 때 완성시켜 출력시키는 문제다.
최근 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 댓글