rkdr055   6년 전

제 나름대로 최대한 짧게 짠다고 짜서 제출하였더니 9383MS가 걸려서 맞았습니다! 가 떴습니다

파이썬3으로 문제 맞은 사람들보니 시간이 300대 이던데 어떻게 더 줄인걸까요?

아니면 더 좋은 방법이 있나요?

jh05013   6년 전

del stack2[0]은 stack2[0]를 지울 뿐만 아니라, [1], [2], ...에 있는 원소들을 하나씩 왼쪽으로 옮깁니다. 즉 len(stack2)에 비례하는 시간이 걸리므로 절대 쓰면 안 됩니다. stack2.pop(0)나 stack.remove(stack[0])처럼 stack2[0]를 지우는 다른 명령도 마찬가지입니다.

jh05013   6년 전

stack2.insert(0,stack[-1]) 역시 [0], [1], ...에 있는 원소들을 하나씩 오른쪽으로 옮기므로 len(stack2)에 비례하는 시간이 걸립니다.

djm03178   6년 전

(파이썬 시간제한단축 청원에 힘을 실어주는 예시입니다.)

rkdr055   6년 전

jh05013 님 질문에 답 달아주셔서 감사합니다
그냥 친절한 분인줄 알았는데 파이썬으로 푸신분중 가장 랭킹이 높으신 분이셨네요;;
어차피 마지막껄 지우는거니까 del stack[-1]을 하지 말고 stack.pop을 하는 방법이 단축 방법이였네요
제가 책 안보고 문제들 풀어보면서 공부중인데 pop은 마지막 요소를 삭제하고 return 해주는 역할도 하는 건가 봅니다.
잘 배우고 갑니다. 다음에도 질문 올리면 답해주세요 ㅠㅠ

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