백준 10989 수 정렬하기3 (도수정렬)
참고: https://www.acmicpc.net/problem/10989
무엇?
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)
둘째 줄부터 N개의 줄에는 수
수는 10,000보다 작거나 같은 자연수
왜?
정글 1주차 도수 정렬 복습
어떻게?
내 코드
- 수를 입력 받으면서 배열의 인덱스를 이용해 카운팅한다
- 카운팅 배열을 이중 for문으로 반복
- count 값이 존재하면 count 값만큼 인덱스 출력
import sys
input = sys.stdin.readline
N = int(input())
array = [0] * 10001
# 수 입력 + 배열에 count
for i in range(N):
num = int(input())
array[num] += 1
# 배열을 순회하며 count가 존재하면 인덱스 출력
for j in range(1, 10001):
if (array[j] != 0):
for _ in range(array[j]):
print(j)
'크래프톤정글 > TIL & WIL' 카테고리의 다른 글
백준 1914번 하노이탑 파이썬 (재귀) (0) | 2023.01.31 |
---|---|
백준 2468번 안전영역 파이썬 (BFS) (0) | 2023.01.28 |
백준 1074번 Z 파이썬 (분할정복, 재귀) (2) | 2023.01.25 |
백준 10971번 외판원 순회 파이썬 (0) | 2023.01.23 |
백준 9663번 N-Queen 파이썬 (1) | 2023.01.19 |