굳이 arr이라는 리스트를 만들지 않고 처리할 수 있습니다.
enumerate 라는 함수를 사용하면, 인덱스와 값을 한번에 가져올 수 있습니다.
for point, x in enumerate(choice_number):
대충 이렇게 하면 point와 값을 한번에 얻을 수 있습니다.
그리고 stack에서 확인을 n번 전부 하다보니
1 5 2 3 4 5 3
이런 예제를 넣으면,
[[1, 2]] [[1, 2], [2, 3]] [[1, 2], [2, 3], [3, 4]] [[1, 2], [2, 3], [3, 4], [4, 5]] [[1, 2], [2, 3], [3, 4], [4, 5], [5, 3]] [[2, 3]] [[2, 3], [3, 4]] [[2, 3], [3, 4], [4, 5]] [[2, 3], [3, 4], [4, 5], [5, 3]] [[2, 3], [3, 4], [4, 5], [5, 3], [3, 4]] [[3, 4]] [[3, 4], [4, 5]] [[4, 5]] [[5, 3]]
스택에 값이 이렇게 들어갑니다.
보시면 2~5번째 줄에서 방문한 값들을 6번째 줄부터 다시 방문합니다.
6번째 줄부터는 모두 1~5번째 줄에서 방문한 값들이기 때문에 다시 방문할 이유가 없습니다.
방문한 값은 바로바로 방문처리해서 다시 방문하지 않도록 해 시간을 줄이셔야 합니다.
wjdgh12392 1년 전
pypy3로 해도 시간초과가 나네요 80%에서... 감질맛나게... ㅠㅠ
접근 방식이 아예 잘못된걸까요 더 줄일 수 있는 부분이 없는 것 같은데... 고수님들 도움 부탁드리겠슴다!