https://www.acmicpc.net/problem/10989
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
예제 입력 | 예제 출력 |
10 5 2 3 1 4 2 3 5 1 7 |
1 1 2 2 3 3 4 5 5 7 |
python에서 제공하는 defaultdict을 이용하여, 각 숫자별로 개수를 세어 놓고 키값만 정렬해서 출력하자.
Python3
from sys import stdin
from collections import defaultdict
nums = defaultdict(lambda: 0)
for _ in range(int(stdin.readline())):
nums[int(stdin.readline())] += 1
for k in sorted(nums.keys()):
for _ in range(nums[k]):
print(k)
'일하는 > Algorithm, Coding' 카테고리의 다른 글
[BAE/<JOON>][백준][#8913] 문자열 뽑기 (0) | 2020.08.28 |
---|---|
[BAE/<JOON>][백준][#1003] 피보나치 함수 (0) | 2019.09.19 |
[BAE/<JOON>][백준][#1002] 터렛 (0) | 2019.09.19 |
[BAE/<JOON>][백준][#1929] 소수 구하기 (0) | 2019.09.19 |
[BAE/<JOON>][백준][#6064] 카잉 달력 (0) | 2019.09.19 |