본문 바로가기
알고리즘

백준 10989번 수 정렬하기 3

by Lihano 2021. 9. 16.
반응형

풀이 언어 : PYTHON

풀이 방법 : 카운팅 정렬

# 카운팅 정렬
# 각 수가 몇 번 등장했는지를 기록한 뒤 출력하는 기법
# 사전에 정렬할 수의 범위를 알고 있어야하고
# 그 수의 범위가 너무 커서도 안된다.
# 상당히 짜증나는 문제. 입력을 sys.stdin.readLine()으로 받아야만한다.
# 이 기회에 input을 버릴까.

import sys 

n = int(sys.stdin.readline())
counting_arr = [0 for _ in range(10001)]

for _ in range(n) :
    idx = int(sys.stdin.readline())
    counting_arr[idx] += 1

for idx, val in enumerate(counting_arr) :
    while val > 0 :
        print(idx)
        val -= 1

 

링크

10989번: 수 정렬하기 3 (acmicpc.net)

반응형

'알고리즘' 카테고리의 다른 글

백준 18870번 좌표 압축  (0) 2021.09.16
백준 2108번 통계학  (0) 2021.09.16
백준 1436번 영화감독 숌  (0) 2021.09.14
백준 1018번 체스판 다시 칠하기  (0) 2021.09.14
백준 7568번 덩치  (0) 2021.09.14

댓글