본문 바로가기
알고리즘/[python] 백준 BOJ

[python] 백준 10989 수 정렬하기 3

by Alan_Kim 2023. 2. 22.
728x90
반응형

https://www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

www.acmicpc.net

문제 해결

기수 정렬 문제

시간초과를 신경써야 하는 문제

최대 수가 10000000이므로 리스트를 100000001개 만들고 입력 수를 인덱스로 해서 하나씩 +1

1부터 100000000까지 인덱스를 돌면서 value가 0이 아닌 값을 추출하면 된다.

 

CODE

import sys
input = sys.stdin.readline
N = int(input())
A = [0]*10001
for _ in range(N):
    A[int(input())] +=1
for i in range(10001):
    if A[i] != 0:
        for j in range(A[i]):
            print(i)
728x90
반응형

댓글