[백준] 10989번 수 정렬하기 3 - python

김지윤·2022년 9월 29일

코딩테스트

목록 보기
4/4

코드: 실패(메모리 초과)

코드: 성공

코드 설명

문제에서 제한한 메모리 크기가 8 MB로 매우 작기 때문에 최대한 메모리 할당을 줄여서 코드를 짜야 한다.
해당 코드에서는 count sort를 활용하여 정렬한다.

입력되는 원소의 범위는 0부터 10000까지이다.
따라서 count = [0] * 10001로 설정해야 한다.

입력받은 N만큼 for문 루프를 돌린다.
루프를 돌면서 입력받은 원소에 해당하는 값 x를 count 리스트의 인덱스로 지정하고, count[x]의 값을 1 증가한다.

원소 범위만큼 for문의 범위를 지정하여 루프를 돈다. 이 때 count[i]의 값이 0이 아니라면 i는 입력받은 값들 중 하나인 것이다. 따라서 count[i]가 0이 될 때까지 (i가 여러 번 입력됐을 수 있으므로) i를 print한다.

0개의 댓글