2751번 - 수 정렬하기 2
왼쪽이 제꺼 오른쪽이 정답자의 코드입니다.
둘 다 제 컴퓨터에서는 잘만 작동되는데
제출을 해보면 효율이 제 것이 나쁜지 왼쪽 코드만 시간초과라고 뜨네요
list.pop(0)는 가장 앞의 원소를 빼낸 뒤 뒤의 모든 원소를 전부 한 칸씩 당겨오기 때문에 원소의 수에 비례하는 시간이 걸립니다.
그와 별개로 오른쪽의 코드는 바람직한 구현도 아닌 것 같습니다. 병합 정렬을 직접 구현한다면 .sort를 쓰지 않고 재귀 함수를 정의해야 의미가 있지 않을까요?
오른쪽의 코드 출처를 찾아봤는데 병합 정렬을 구현하려는 의도가 아니었군요. 해당 블로그 글에서 시간 초과가 난 이유는 정렬 문제가 아니라 sys.stdin.readline을 사용하지 않았기 때문입니다.
두 분 조언 감사합니다. 정렬 문제를 풀이하니 끓어 오르네요 확 어려워졌습니다 ㅎㅎ
흥미진진하네요 pop에 그런 기능이 있는지 몰랐습니다. 좀더 도전해봐야겠습니다.
댓글을 작성하려면 로그인해야 합니다.
kani215 4년 전
왼쪽이 제꺼 오른쪽이 정답자의 코드입니다.
둘 다 제 컴퓨터에서는 잘만 작동되는데
제출을 해보면 효율이 제 것이 나쁜지 왼쪽 코드만 시간초과라고 뜨네요