💻 문제 - B1
👉 제출 코드
N = int(input())
arr = [int(input()) for _ in range(N)]
arr.sort()
for i in arr:
print(i)
- sort함수를 사용하여 정렬 ➡️ 메모리 초과
N = int(input())
arr = [0] * 10001
for i in range(N):
num = int(input())
arr[num] += 1
for i in range(1, len(arr)):
if arr[i] != 0:
for j in range(arr[i]):
print(i)
- 10,000보다 작거나 같은 수이므로 계수 정렬으로 접근: 10,001 크기의 배열을 만들어 숫자에 해당하는 위치에 개수를 저장한다
- j번만큼 i를 출력한다
- ➡️ 시간 초과
import sys
N = int(sys.stdin.readline())
arr = [0] * 10001
for i in range(N):
num = int(sys.stdin.readline())
arr[num] += 1
for i in range(10001):
if arr[i] != 0:
for j in range(arr[i]):
print(i)
- input() 대신 sys.stdin.readline() 사용