[python] 백준 10989번

도덩이의 개발 일지·2024년 9월 11일

백준

목록 보기
72/131
post-thumbnail

안녕하세요 !

오늘은 백준 - 수 정렬하기 3 문제를 가지고 왔습니다 !

오늘 문제는 Counting Sort라는 개념을 알지 못하면 어려울 수 있는 문제라 먼저 개념을 습득하시는 것을 추천합니다.


문제 설명


해결 방법

문제를 해결한 방법을 정리해보겠습니다.

  1. N을 입력받는다.
  2. N개의 숫자를 입력받으며 각 숫자가 몇 개인지 합을 카운트한다.
  3. 각 숫자의 개수대로 숫자를 출력한다.

  1. N을 입력받는다.
n = int(sys.stdin.readline().strip())

  1. N개의 숫자를 입력받으며 각 숫자가 몇 개인지 합을 카운트한다.
arr = [0]*10001
for i in range(n):
    num = int(sys.stdin.readline().strip())
    arr[num] += 1

  1. 각 숫자의 개수대로 숫자를 출력한다.
for i in range(1, 10001):
    for j in range(arr[i]):
        print(i)

전체 코드

import sys

n = int(sys.stdin.readline().strip())
arr = [0]*10001

for i in range(n):
    num = int(sys.stdin.readline().strip())
    arr[num] += 1

for i in range(1, 10001):
    for j in range(arr[i]):
        print(i)
profile
말하는 감자에서 개발자로 ( ´͈ ᵕ `͈ )◞♡

0개의 댓글