kani215   4년 전

왼쪽이 제꺼 오른쪽이 정답자의 코드입니다.

둘 다 제 컴퓨터에서는 잘만 작동되는데 

제출을 해보면 효율이 제 것이 나쁜지 왼쪽 코드만 시간초과라고 뜨네요

e75c265b-9214-4e81-906e-f04530edc328


djm03178   4년 전

list.pop(0)는 가장 앞의 원소를 빼낸 뒤 뒤의 모든 원소를 전부 한 칸씩 당겨오기 때문에 원소의 수에 비례하는 시간이 걸립니다.

jh05013   4년 전

그와 별개로 오른쪽의 코드는 바람직한 구현도 아닌 것 같습니다. 병합 정렬을 직접 구현한다면 .sort를 쓰지 않고 재귀 함수를 정의해야 의미가 있지 않을까요?

jh05013   4년 전

오른쪽의 코드 출처를 찾아봤는데 병합 정렬을 구현하려는 의도가 아니었군요. 해당 블로그 글에서 시간 초과가 난 이유는 정렬 문제가 아니라 sys.stdin.readline을 사용하지 않았기 때문입니다.

kani215   4년 전

두 분 조언 감사합니다. 정렬 문제를 풀이하니 끓어 오르네요 확 어려워졌습니다 ㅎㅎ

흥미진진하네요 pop에 그런 기능이 있는지 몰랐습니다. 좀더 도전해봐야겠습니다.

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