JaeniWorld
[Python] Boj 백준 10989 수 정렬하기 3 본문
반응형
문제
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이 아니면
밸류만큼 값을 출력해준다.
반응형
'코테준비 > 문제풀이' 카테고리의 다른 글
[Python] Boj 백준 2751 수 정렬하기 2 (0) | 2022.05.13 |
---|---|
[Python] 프로그래머스 구명보트 (0) | 2020.07.12 |
[Python] 프로그래머스 쇠막대기 (0) | 2020.07.12 |
[Python3] 프로그래머스 크레인 인형뽑기 게임 (0) | 2020.07.11 |
[SQL] 프로그래머스 7daySQL챌린지 day1~day4 (0) | 2020.07.11 |
Comments