본문 바로가기

알고리즘 (Python)/코드업 기초 100제

[CodeUp] 코드업 기초 100제 6092번 풀이 - 파이썬(python)

728x90
반응형

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

시간 제한 : 1초 메모리 제한 : 128 MB

 


 

문제 설명

 

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

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

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

출석 번호를 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

내 풀이

 

stlist = list()

for i in range(24):
    stlist.append(0)
    
num = int(input())
numlist = input().split()

for i in range(num):
    stlist[int(numlist[i])] += 1
    
for i in range(1, len(stlist)):
    print(stlist[i], end=' ')


모범 답안

 

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=' ')


해설

 

for 반복문으로 stlist라는 변수를 24개의 0이 들어간 칸으로 이루어진 리스트로 만들어줍니다.
num 변수에는 int형의 입력을 받아 저장해주고, numlist 변수에는 그 다음에 입력되는 입력값들의 list들을 저장해줍니다.
그 다음 for 반복문으로 0부터 num까지 반복해줍니다. 반복문 내에서는 stlist 리스트의 numlist[i] 번째에 해당하는 수를 1 증가시켜 줍니다.
위와 같은 과정을 반복하고, 반복이 끝나면 새로운 for 반복문을 통하여 print() 함수로 stlist를 출력해줍니다.
이 때 print() 함수에 end 옵션을 붙여 띄어쓰기를 추가해줍니다.
728x90
반응형