본문 바로가기
Develop/백준 (python)

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

by Tarra 2022. 1. 22.

10989번: 수 정렬하기 3


문제 )
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

 

입력 :

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

출력 :

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

 

풀이)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import sys 
 
= int(sys.stdin.readline()) 
#input()은 입력에 시간이 많이 걸리기 때문에
# 주로 sys.stdin.readline()을 많이 쓴다고 한다.
li = [0* 10001 #index 0부터 10001번째까지 있는 리스트 생성
for i in range(n):
    num = int(sys.stdin.readline())
    li[num] = li[num]+1 #해당 인덱스에 있는 숫자에 1씩 더해 개수를 센다.
 
for i in range(110001):
    if li[i] > 0:
        for j in range(li[i]): #for문을 이용 해당 index의 개수만큼 해당 숫자 출력
            print(i)
cs

 

코딩은 진짜 하면 할수록 배울게 너무 많은 것 같다.

정렬을 하는 방법이라든지(위에서는 리스트를 통해 해결), input을 받는 방법이라든지등

열심히 공부해야겠다.!

출처 : https://www.acmicpc.net/submit/10989

 

로그인

 

www.acmicpc.net