25 ~ 30번째 줄에 적혀있는 코드가 제가 질문드리고 싶은 대상입니다.

제가 떠올렸던 하루를 세는 방법은, q의 맨 마지막에 저장되어 있는 x, y좌표를 미리 last라는 변수에 저장해놓고 q에서 그 x, y 좌표가 popleft 되어, 더이상 last에 저장된 x, y 좌표를 q에서 찾을 수 없을 때 하루가 경과한 것으로 세는 것이었습니다. 그리고 days에 +1을 해주면서, 완전히 새로운 좌표들로 차있는 q의 마지막 요소를 다시 last에 넣어서 또 다른 하루를 셀 수 있도록 했습니다.

우선 정답을 출력시키는 데에는 성공을 했습니다. 그런데 제출을 하면 1%를 찍고 바로 시간 초과라는 결과가 나타났습니다.

시간 복잡도를 잡아먹어봤자 [-1]번째 x, y 좌표를 참조하는 과정이 영향을 줬을 거라고 생각하고 있는데 이게 어느 정도로 계산 시간에 영향을 끼치는 건지 잘 모르겠습니다.

* 날짜를 세는 아이디어를 바꿨더니 바로 정답 처리가 됐습니다.

seawon0808   1년 전

28번째 줄에 있는 in의 시간복잡도가 O(n)이어서 그런 것 같습니다.

댓글을 작성하려면 로그인해야 합니다.