문제 설명
1 ~ 23번까지 출석번호가 존재하고, n번 출석을 무작위로 부를 때 각 번호별로 호명된 횟수를 출력하자
풀이
n = int(input())
a = input().split()
for i in range(n):
a[i] = int(a[i])
arr = [0] * 24
for i in range(1, 24):
for j in range(0, n):
if (i == a[j]):
arr[i] += 1
for i in range(1, 24):
print(arr[i], end=' ')
해설
입력받은 번호들을 a 배열에 정수형으로 저장 후 arr 배열을 0으로 0 ~ 23까지 초기화 해준다
이중 반복문을 통해 1 ~ 23까지 숫자를 a배열과 전부 하나씩 비교하며 a배열과 같은 숫자가 있을 때 해당 숫자의 인덱스에 해당하는 arr배열을 1씩 증가시킨다
arr배열을 출력한다
다른 분 풀이
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=' ')
입력 받은 숫자들을 미리 초기화 해둔 배열의 인덱스로 넣어서 num번 반복하며 1씩 증가시킨다
** stlist를 list함수로 list로 선언 해준 후 append함수를 이용해 0으로 초기화 했다
'Code Up' 카테고리의 다른 글
[Code Up] - Python 기초 100제, 6094번 풀이 - 티스토리 (0) | 2023.08.06 |
---|---|
[Code Up] - Python 기초 100제, 6093번 풀이 - 티스토리 (0) | 2023.08.06 |
[Code Up] - Python 기초 100제, 6091번 풀이 - 티스토리 (0) | 2023.08.06 |
[Code Up] - Python 기초 100제, 6090번 풀이 - 티스토리 (0) | 2023.08.06 |
[Code Up] - Python 기초 100제, 6089번 풀이 - 티스토리 (0) | 2023.08.06 |