본문 바로가기
코드업(CodeUp) 풀이/Python 기초 100제

[코드업 Python 기초 100제] - 6092. 이상한 출석 번호 부르기1

by yewonnie 2022. 1. 26.

문제 설명

정보 선생님은 수업을 시작하기 전에 이상한 출석을 부른다.

선생님은 출석부를 보고 번호를 부르는데,
학생들의 얼굴과 이름을 빨리 익히기 위해 번호를 무작위(랜덤)으로 부른다.

그리고 얼굴과 이름이 잘 기억되지 않는 학생들은 번호를 여러 번 불러
이름과 얼굴을 빨리 익히려고 하는 것이다.

출석 번호를 n번 무작위로 불렀을 때, 각 번호(1 ~ 23)가 불린 횟수를 각각 출력해보자.

입력

첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력된다. (1 ~ 10000)
두 번째 줄에는 무작위로 부른 n개의 번호(1 ~ 23)가 공백을 두고 순서대로 입력된다.

출력

1번부터 번호가 불린 횟수를 순서대로 공백으로 구분하여 한 줄로 출력한다.

입력 예시

10
1 3 2 2 5 6 7 4 5 9

출력 예시

1 2 1 1 2 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

My code

n = int(input())
a = list(map(int,input().split()))

arr=[]
for i in range(24):
    arr.append(0)

for i in range(n):
    arr[a[i]] = arr[a[i]] + 1

for i in range(1,24):
    print(arr[i],end=' ')

Answer

n = int(input())
a = input().split()

for i in range(n) :
  a[i] = int(a[i])

d = []
for i in range(24) :
  d.append(0)

for i in range(n) :
  d[a[i]] += 1

for i in range(1, 24) :
  print(d[i], end=' ')

Code Review

번호가 불린 횟수를 저장할 list 를 먼저 만들어주어야 합니다. append 함수를 이용해 0으로 모두 초기화 시켜주었습니다. 번호가 불린 횟수를 순서대로 출력하기 위해서는 a[i] 의 값 (불린 번호) 자리의 숫자를 +1 증가시켜주어야 합니다. 따라서 arr[a[i]] += 1를 이용하여 불린 번호에 해당하는 자리가 1 증가하도록 해주었습니다. 

댓글