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
n = 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(1, 10001):
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
'Develop > 백준 (python)' 카테고리의 다른 글
[백준] 11651번: 좌표 정렬하기 2 (python) (0) | 2022.01.22 |
---|---|
[백준] 11650번: 좌표 정렬하기 (python) (0) | 2022.01.22 |
[백준] 10814번: 나이순 정렬 (python) (0) | 2022.01.21 |
[백준] 4101번: 크냐? (python) (0) | 2022.01.20 |
[백준] 7568번: 덩치 (python) (0) | 2022.01.20 |