Today
Total
Recent Posts
Link
반응형
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
관리 메뉴

아임'준

[BOJ / 파이썬] 10989: 수 정렬하기 3 본문

문제풀이/BOJ

[BOJ / 파이썬] 10989: 수 정렬하기 3

아임'준 2021. 10. 5. 10:05
반응형

백준 / BOJ / Python / 파이썬

문제 링크 : https://www.acmicpc.net/problem/10989

단계 : 정렬

알고리즘 분류 : 정렬

 

풀이:

나오는 숫자의 범위가 '10,000보다 작거나 같은 자연수'이므로 해당 길이를 가지는 리스트를 만들어준 후 0으로 초기화해준다. 입력을 받을 때 각 숫자가 등장할 때마다 해당 숫자를 인덱스로 하는 곳에 1을 더해준다. 이후 for문을 이용하여 1부터 10000까지 리스트의 인덱스를 방문하며 각 값이 0이 될때까지 해당 인덱스를 출력해준다.

 

단계별 문제풀이에서 들어갈 때 카운팅 정렬을 사용하라고 적혀있었는데 카운팅 정렬이 이게 맞는지는 모르겠다.

 

코드

import sys

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

for i in range(n):
    temp = int(sys.stdin.readline())
    ls[temp] += 1

for i in range(1, 10001):
    if ls[i]:
        while ls[i] > 0:
            print(i)
            ls[i] -= 1

Comments