문제 설명 요약
선생님이 출석부를 보고 출석을 부르시는데 이상하게 부르신다. 얼굴과 이름을 빨리 익히기 위해 학생들의 번호를 랜덤으로 부르고 얼굴과 이름이 잘 기억되지 않는 학생들은 번호를 여러 번 부르신다.
출석 번호를 n번 무작위로 불렀을 때, 각 학생의 번호(1~23)가 불린 횟수를 각각 출력해보자.
https://codeup.kr/problem.php?id=6092
[기초-리스트] 이상한 출석 번호 부르기1(설명)(py)
python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
내가 쓴 코드
from collections import Counter
rollbook = []
n = int(input())
strange = input().split(' ')
counter_strange = Counter(strange)
list_counter_strange = list(counter_strange)
list_counter_strange.sort()
for i in range(1, 24):
if str(i) in list_counter_strange:
rollbook.append(str(counter_strange[str(i)]))
else:
rollbook.append('0')
answer = ' '.join(rollbook)
print(answer)
예시 코드
n = int(input())
a = input().split()
for i in range(n) :
a[i] = int(a[i]) # a에 순서대로 저장되어있는 각 값을 정수로 변환해 다시 저장
d = []
for i in range(24) :
d.append(0)
for i in range(n) : # 번호를 부를 때마다, 그 번호에 대한 카운트 1씩 증가
d[a[i]] += 1
for i in range(1, 24) : # 카운트한 값을 공백을 두고 출력
print(d[i], end=' ')
👉 line 12
d[a[i]] += 1 # 2중 리스트 참조 : 만약 a[i]의 값이 1이었다면? d[1] += 1 이 실행되는 것이다. 1번 카운트 1개 증가