-
BOJ 10971 오랜만에 풀어보는 순회 문제알고리즘 문제풀이/Java 2020. 5. 1. 01:19
문제
https://www.acmicpc.net/problem/10971
해설
내가 처음 문제를 해결하기 위한 방법은 배열을 이용하는 것이었다.
0번 배열에 번호를 저장하고, 이후 해당 번호를 인덱스로 하는 배열에 다른 번호를 저장하는 방식으로 처리하면 문제를 해결할 수 있을 것 같았다.
34번째 줄을 추가하기 전까지는 문제를 계속 틀렸는데, 생각해보면 마지막에서 다시 0번으로 돌아가는 그 길이 존재하는 지 확인하는 과정이 없기 때문에 틀릴 수 밖에 없다.
느낀 점
- 오랜만에 푸는 알고리즘 문제였는데, 사실 처음 코드를 짜는 데만 해도, 상당히 오랜 시간이 걸렸다. 아마 감으로 문제를 풀려고 한 탓일 것이다. 문제에 주어진 조건과, 어떠한 방식으로 해결할 지를 생각하는 습관을 들이도록 하자.
- 이러한 그래프 문제나 순회 문제의 경우, DP문제와 다르게 반례를 찾기가 어려워 논리적으로 풀어내기가 어려운 부분이 있다. 하지만 천천히 하나하나 과정의 정확성을 따져가면서 디버깅을 한다면 문제의 정답에 다다를 수 있을 것 같다.
'알고리즘 문제풀이 > Java' 카테고리의 다른 글
BOJ 2178 DFS? BFS? DP? (0) 2020.05.04 BOJ 6064 나머지 정리 (0) 2020.05.01 BOJ 2225 합분해 (0) 2020.04.18 DP - 점화식의 중요성(BOJ 11052, 16194) (0) 2020.04.17 BOJ 2004, 1676 - 팩토리얼에 대한 접근 (0) 2020.04.15