jinhot   4년 전

파이썬으로 풀어보려고 하는데,

시간 초과를 극복할 수가 없습니다.. ㅜㅜ

심지어 구글에서 C++로 푼 사람 로직대로 그대로 바꿔봤는데도 시간 초과가 뜨네요..

제가 잘못 바꾼건지...

혹시 괜찮으시면 보시고 고견 부탁드립니다..

djm03178   4년 전

list.pop(0)은 첫 번째 원소를 빼낸 뒤 뒤에 있는 원소들을 전부 한 칸씩 앞으로 당겨와야 하기 때문에 들어있는 원소의 수에 비례하는 시간이 걸립니다.

jinhot   4년 전

헉 감사합니다. 한번 수정 해보겠습니다 ㅜㅜ

jinhot   4년 전

queue 모듈로 바꾸거나, 새 list를 생성하고 다시 변수에 넣어주는 식으로 해도 안되네유 ㅜㅜ

맞은 사람에 Python3는 없고, pypy만 있는 거 보니 더 최적화를 해줄 부분이 있는 건지..

djm03178   4년 전

queue는 멀티스레드용이고, 싱글스레드용으로 빠르게 쓸 수 있는 건 collections.deque라고 합니다.

jinhot   4년 전

항상 list를 queue 처럼만 쓸 생각을 했는데, deque를 쓰면 빠르군요! 감사합니다 해결되었어요!

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