Rego의 블로그

백준 10989 파이썬 수 정렬하기 3 본문

BEAKJOON

백준 10989 파이썬 수 정렬하기 3

RegularPark 2021. 9. 30. 12:51

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

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

 

input()을 이용했더니 시간초과. 그냥 빈 리스트를 이용했더니 시간 초과가 떠서 리스트의 크기를 정해놓고, 0으로 채웠다. 정렬할 숫자 입력시 리스트[input]에 해당되는 원소에 1씩 더해주고 이후에 for 문을 또 하나 만들어서 원소가 0이 아닌 경우에만 리스트[i]의 크기만큼 i를 출력해준다.

 

1. n 입력 후 정렬할 원소들을 입력 ex) 1 1 1

2. 리스트[1] += 1 을 세 번 실행. 리스트[1] = 3

3. 두번째 for 문에서 리스트[1]의 크기(3)만큼 1을 3회 출력.

4. print => 1 1 1

 

 

import sys
input = sys.stdin.readline

n = int(input())
lst = [0]*10001
for i in range(n):
    lst[int(input())] += 1
for i in range(10001):
    if lst[i] != 0:
        for j in range(lst[i]):
            print(i)