거북이개발자

[백준 10989] 수 정렬하기3 본문

Algorithm(Python)/BaekJoon

[백준 10989] 수 정렬하기3

류정식 2021. 1. 20. 10:49

0. 제목

  • 백준 10989 수 정렬하기3

1. 문제

www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

 

 


2. 풀이

  • 일반 python의 sort함수는 nlogn의 복잡도여서 쓰면 오류가 난다.
  • 계수정렬을 이용한다.

 


3. 코드

import sys

n=int(sys.stdin.readline())
array=[0]*1001

for i in range(n):
    data=int(sys.stdin.readline())
    array[data]+=1
    
for i in range(1001):
    if array[i]!=0:
        for j in range(array[i]):
            print(i)

 

4. 깨달은 점

 

 

'Algorithm(Python) > BaekJoon' 카테고리의 다른 글

[백준 7490] 0 만들기  (0) 2021.01.22
[백준 2747]피보나치 수  (0) 2021.01.20
[백준 11650] 좌표 정렬하기  (0) 2021.01.19
[백준 1427] 소트인사이드  (0) 2021.01.18
[백준 1920] 수 찾기  (0) 2021.01.16
Comments