[백준] 10989번: 수 정렬하기 3

jooo·2023년 1월 9일
0

백준

목록 보기
12/35
post-thumbnail

💻 문제 - 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() 사용
profile
조금씩, 꾸준히, 자주

0개의 댓글