[Miller] PROGRAMMERS(86052): 빛의 경로 사이클 - 문제풀이 추가 #164
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
안녕하세요, 프로그래머스 - 빛의 경로 사이클 문제 풀이를 들고온 Miller 입니다!
이 문제 이해가 굉장히 힘들었습니다.
예시로 나온 테스트 케이스를 이해하는데 1시간 정도 걸렸네요..
풀이 과정
일단 문제를 이해하기 위해 빛의 경로 출발점에 대해 생각해야합니다.
만약 어느 지점을 출발점으로 잡게 되면, 그 지점까지 도달하기 위해 출발점 이전의 경로가 필요합니다.
그리고 빛의 경로는 최대 점의 수 * 4 (방향의 수) 내의 길이를 가지고, 모든 경로는 사이클이 됩니다.
결론적으로, 빛의 경로는 최대 500 * 500 * 4 내의 길이의 사이클이 됩니다.
그리고 출발점으로부터 사이클을 찾은 후에, 아직 방문하지 않은 지점의 방향을 찾아서 다시 사이클을 찾습니다.
시간 복잡도
점의 개수는 최대 500 * 500, 방향의 개수는 4이므로 순회하는 방향의 개수는 500 * 500 * 4 입니다.
넉넉하게 100,000 회의 반복으로 풀이가 가능합니다.