JaeniWorld

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

코테준비/문제풀이

[Python] Boj 백준 10989 수 정렬하기 3

jaeni 2022. 6. 8. 21:15
반응형

문제

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

입력

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

출력

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


풀이

1.  그냥 하나하나 받아서 솔팅 -> 될리가

2. 그렇다면 어떻게 해야할까.. 고민. append 의 문제인가? -> 아님

 

하는데 이거는 걍 모르겠어서 바로 서치했다 그리고 보고 이해한 코드

import sys
n = int(input())

check = [0]*10001
for i in range(n):
    num = int(sys.stdin.readline())
    check[num] = check[num]+1

for i in range(10001):
    if i !=0:
        for _ in range(check[i]):
            print(i)

2. 그렇다면 어떻게 해야할까.. 고민. append 의 문제인가?

기존 리스트 초기화를 check = []의 형태가 아닌 [0]으로 잡아서

나올 수 있는 범위인 10001의 길이를 갖는 리스트로 초기화 해준다.

 

1.  그냥 하나하나 받아서 솔팅 -> 될리가

단순히 값을 받아서 솔팅하는 것이 아니라 들어오는 값이 몇번 입력되었는지로 체크한다

그런 다음 이 check 리스트를 순회하면서 밸류가 0이 아니면

밸류만큼 값을 출력해준다.

 

 

반응형
Comments