14442번 - 벽 부수고 이동하기 2
파이썬으로 풀어보려고 하는데,
시간 초과를 극복할 수가 없습니다.. ㅜㅜ
심지어 구글에서 C++로 푼 사람 로직대로 그대로 바꿔봤는데도 시간 초과가 뜨네요..
제가 잘못 바꾼건지...
혹시 괜찮으시면 보시고 고견 부탁드립니다..
list.pop(0)은 첫 번째 원소를 빼낸 뒤 뒤에 있는 원소들을 전부 한 칸씩 앞으로 당겨와야 하기 때문에 들어있는 원소의 수에 비례하는 시간이 걸립니다.
헉 감사합니다. 한번 수정 해보겠습니다 ㅜㅜ
queue 모듈로 바꾸거나, 새 list를 생성하고 다시 변수에 넣어주는 식으로 해도 안되네유 ㅜㅜ
맞은 사람에 Python3는 없고, pypy만 있는 거 보니 더 최적화를 해줄 부분이 있는 건지..
queue는 멀티스레드용이고, 싱글스레드용으로 빠르게 쓸 수 있는 건 collections.deque라고 합니다.
항상 list를 queue 처럼만 쓸 생각을 했는데, deque를 쓰면 빠르군요! 감사합니다 해결되었어요!
댓글을 작성하려면 로그인해야 합니다.
jinhot 4년 전
파이썬으로 풀어보려고 하는데,
시간 초과를 극복할 수가 없습니다.. ㅜㅜ
심지어 구글에서 C++로 푼 사람 로직대로 그대로 바꿔봤는데도 시간 초과가 뜨네요..
제가 잘못 바꾼건지...
혹시 괜찮으시면 보시고 고견 부탁드립니다..