Notice
Recent Posts
Recent Comments
Link
컴퓨터는 잘못이 없다..
[알고리즘]BOJ_10989_수 정렬하기3_계수정렬사용(파이썬 sys라이브러리 사용해서 입력받기) 본문
Contents
접기
[문제링크]
10989번: 수 정렬하기 3 (acmicpc.net)
[제한]
[문제]
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
[입력]
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
[출력]
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
[예제 입력 1]
10
5
2
3
1
4
2
3
5
1
7
[예제 출력 1]
1
1
2
2
3
3
4
5
5
7
[답안1]
import sys
n=int(sys.stdin.readline())
#data에서 가장 큰 수만큼 방을 만들고 0으로 초기화해준다.
arr=[0]*10001
for _ in range(n) :
data = int(sys.stdin.readline())
arr[data] += 1
#arr[int(sys.stdin.readline())] += 1 위의 두 줄은 한줄로 줄일 수 있다.
#arr에 저장된 수만큼 값을 출력한다.
for i in range(10001) :
if arr[i] != 0:
for _ in range(arr[i]) :
print(i)
▲답안1 설명
Python3로 채점함!, 계수정렬을 이용해서 풀어보았다.
'공부 > 알고리즘(파이썬)' 카테고리의 다른 글
[알고리즘]BOJ_9625_BABBA (0) | 2021.01.18 |
---|---|
[알고리즘]BOJ_2750_수 정렬하기(파이썬 sorted() ) (0) | 2021.01.15 |
[알고리즘]정렬_성적이 낮은 순서로 학생 출력하기(파이썬 sort(),sorted()의 key매개변수, 람다함수 사용해보기) (0) | 2021.01.15 |
Comments