6092 : [기초-리스트] 이상한 출석 번호 부르기1(설명)(py)
문제설명 |
정보 선생님은 수업을 시작하기 전에 이상한 출석을 부른다. 선생님은 출석부를 보고 번호를 부르는데, 학생들의 얼굴과 이름을 빨리 익히기 위해 번호를 무작위(랜덤)으로 부른다. 그리고 얼굴과 이름이 잘 기억되지 않는 학생들은 번호를 여러 번 불러 이름과 얼굴을 빨리 익히려고 하는 것이다. 출석 번호를 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 |
정답 및 가능한 정답
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=' ')
n = int(input())
a = list(map(int,input().split()))
d = list()
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=' ')
해설
먼저 출석부른 횟수 n을 int자료형으로 입력받는다.
그 다음 a= input().split()으로 무작위로 부른 n개의 번호를 공백을 두고 입력받고
for문으로 a[i]=int(a[i])로 int자료형으로 요소들을 바꾸던가
list(map(int, input().split()))으로 입력받으면서 바로 요소들을 int자료형으로 입력할 수도 있다.
d=[]나 d=list()로 빈 리스트 한개를 생성하고
범위를 24인 for문으로 0부터 23번호까지 d.append(0)한다.
a의 각 요소 숫자에 해당하는 d의 인덱스에 1을 추가해야 하므로
for문으로 d[a[i]] += 1을 한다.
그리고 1부터 23까지 출력하기 위해
range(1,24)범위로 잡은 for문으로 출력한다.
공백으로 구분하여 한줄로 출력해야하니 print(d[i], end=" ")