코딩테스트/파이썬
[백준] 10989번 수 정렬하기3 (파이썬)
100세까지 코딩
2024. 1. 27. 12:10
문제
나의 생각
- list를 생성하여 append()로 하나씩 추가한다.
- list.sort()를 사용하여 정렬한다.
나의 풀이 (실패)
import sys
input = sys.stdin.readline
k = int(input())
empty_list = list()
for _ in range(k):
empty_list.append(int(input()))
empty_list.sort()
print("\n".join(str(e) for e in empty_list))
- 메모리 초과로 인하여 실패!!
나의 두 번째 풀이 (계수 정렬)
import sys
input = sys.stdin.readline
N = int(input())
number_list = [0] * 10001
for _ in range(N):
index = int(input())
number_list[index] += 1
for i in range(len(number_list)):
if number_list[i] != 0:
for _ in range(number_list[i]):
print(i)
참고
1. 계수 정렬이란? 작은 양의 정수들인 키에 따라 객체를 수집하는 것
Input Data :
Sorted Data :
0 1 1 2 2 3
0 1 2 3 1 2 2 1