문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

1091 : [기초-리스트] 이상한 출석 번호 부르기1(설명)

•시간제한: 1.000 S •메모리제한: 128 MB •제출: 21 •통과: 13 •만든사람: suakii

1091 : [기초-리스트] 이상한 출석 번호 부르기1(설명)

시간 1.000s · 메모리 128MB · 제출 21 · 정답 13

문제 설명

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
정보 선생님은 수업을 시작하기 전에 이상한 출석을 부른다.
선생님은 출석부를 보고 번호를 부르는데, 친구들의 얼굴과 이름을 빨리 외우기 위해 번호를 랜덤으로 아무렇게나 부른다.
그리고 얼굴과 이름이 잘 기억되지 않는 친구들은 번호를 여러 번 더 부르는데, 이름과 얼굴을 더 빨리 외우려고 하는 것이다.
영일이는 각각의 번호들이 몇 번씩 불렸는지 알고 싶어졌다. 아무렇게나 부른 $n$번의 출석 번호가 주어질 때, 각 번호(1 ~ 23)가 불린 횟수를 출력해보자.

아래의 예시 코드를 읽고, 이해한 후 도전해 보자.

예시 코드
n = int(input())      # 번호를 부른 횟수 n 입력
a = input().split()   # 공백으로 구분하여 번호들을 입력받아 리스트 a에 저장

for i in range(n):
    a[i] = int(a[i])  # 각 출석 번호 문자열을 정수형으로 변환

d = []                # 카운트용 빈 리스트 생성
for i in range(24):   # 1번부터 23번까지의 횟수를 저장하기 위해 24개의 방 생성 (d[0] ~ d[23])
    d.append(0)

for i in range(n):
    d[a[i]] += 1      # 불린 번호(a[i])에 해당하는 방(d[a[i]])의 값을 1씩 증가

for i in range(1, 24):
    print(d[i], end=' ') # 1번부터 23번까지 불린 횟수를 공백으로 구분하여 한 줄로 출력

참고
어떤 값을 기록했다가 다시 사용할 필요가 있을 때 변수를 사용하는 것처럼, 여러 개의 값들을 하나의 리스트(목록)처럼 묶어서 사용하고 싶을 때 리스트(list)를 []로 만들어 사용할 수 있습니다.
리스트는 여러 값들을 모아 놓은 변수라고 생각할 수 있으며, 인덱스(참조 번호)를 이용해 각 방의 값에 접근하고 사용할 수 있습니다.
- d = [] : 데이터를 리스트로 저장하기 위해 아무것도 없는 빈 리스트 변수 d를 만듭니다.
- d.append(값) : d 리스트의 마지막 칸에 새로운 값을 추가합니다.
- d[a[i]] += 1 : 만약 a[i]의 값이 1이었다면, d[1] += 1이 실행되어 1번 방에 저장되어 있는 카운트 값을 1만큼 증가시킵니다.

[f-string 출력 참고]
print(f"{d[i]}", end=' ')

입력 설명

첫 번째 줄에 번호를 부른 횟수($n$)가 입력된다.
두 번째 줄에는 $n$개의 번호($k$)가 스페이스로 분리되어 한 줄로 입력된다.
($1 \le n \le 10000$, $1 \le k \le 23$)

출력 설명

1번부터 23번까지 각 번호가 불린 횟수를 스페이스로 분리해서 한 줄로 출력한다.

입력 예시
COPY
복사되었습니다!

10
1 3 2 2 5 6 7 4 5 9

출력 예시
COPY
복사되었습니다!

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

도움

기초100제(py) v0.85 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.

[원작자: 전현석, 최문성(확인), 이준용(확인), 김지혜(그림) (2020)]

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘