아임'준
[BOJ / 파이썬] 10989: 수 정렬하기 3 본문
반응형
백준 / 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
'문제풀이 > BOJ' 카테고리의 다른 글
[BOJ / 파이썬] 1427: 소트인사이드 (0) | 2021.10.06 |
---|---|
[BOJ / 파이썬] 2108: 통계학 (0) | 2021.10.05 |
[BOJ / 파이썬] 2751: 수 정렬하기 2 (0) | 2021.10.04 |
[BOJ / 파이썬] 11729: 하노이 탑 이동 순서 (0) | 2021.10.04 |
[BOJ / 파이썬] 2447번: 별 찍기 - 10 (2) | 2021.10.03 |
Comments