본문 바로가기
알고리즘/정렬

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

by 성현0409 2022. 3. 14.

문제

https://www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

www.acmicpc.net

결과

풀이

import sys
input = sys.stdin.readline

n = int(input())
a = [0] * 10001

for i in range(n):
    b = int(input())
    a[b] += 1

for i in range(1, 10001):
    while a[i] != 0:
        print(i)
        a[i] -= 1

 메모리제한이 있는 문제로 카운팅소트를 이용해 풀어야한다.

인덱스에 숫자마다 개수를 저장해 준 뒤 하나씩 출력해 주었다.

'알고리즘 > 정렬' 카테고리의 다른 글

[백준][python] 2108 통계학  (0) 2022.03.15
[백준][python] 18870 좌표압축  (0) 2022.03.14
[백준][python] 1427 소트인사이드  (0) 2022.03.07
[백준][python] 10814 나이순 정렬  (0) 2022.02.20