Count 리스트
2022. 10. 15. 00:23ㆍ파이썬(Python)
반응형
1. Count 리스트
- 각 숫자가 몇 번 나왔는지 구할 때 사용
- 각각의 빈도를 리스트로 저장하기 위해
Q) 주사위를 10번 던졌을 때 1 3 6 2 1 3 3 5 4 4 값이 나오면 1~6까지 각각의 수가 얼마나 나오는지 구하기
1. 중첩 반복문
arr=list(map(int,input().split()))
for i in range(1,7):
cnt=0
for j in arr:
if i==j:
cnt+=1
print(f'{i}는 {cnt}번')
결과
>> 1 3 6 2 1 3 3 5 4 4
1는 2번
2는 1번
3는 3번
4는 2번
5는 1번
6는 1번
2. Count 배열
count_arr=[0]*7
# count_arr = [0, 0, 0, 0, 0, 0, 0]
- 각 인덱스는 주사위 수를 의미
- 예를 들어 count_arr [3] = 4 이면 주사위 수가 3이 4번 나왔다는 것을 의미
arr=list(map(int,input().split()))
count_arr=[0]*7
for i in arr:
count_arr[i]+=1
for i in range(1,7):
print(f'{i}는 {count_arr[i]}번')
결과
>> 1 3 6 2 1 3 3 5 4 4
1는 2번
2는 1번
3는 3번
4는 2번
5는 1번
6는 1번
- count 배열은 모든 원소를 0으로 초기값으로 가지고 나타내야 할 개수+1만큼 리스트의 길이를 정해준다.
Q) 숫자 개수 세기
- 100 미만의 양수들을 입력
- 입력한 수들의 1~9까지의 개수들을 각각 출력
- ex) 55 36 73
- 한 자릿수로 쪼개면 5,5,3,6,7,3
- 답은 1-0, 2-0, 3-2, 4-0, 5-2, 6-1, 7-1, 8-0, 9-0
arr=list(map(int,input().split()))
count_arr=[0]*10
for i in arr:
if i>=10:
count_arr[i//10]+=1
count_arr[i%10]+=1
else:
count_arr[i]+=1
for i in range(1,10):
print(f'{i}-{count_arr[i]}')
결과
>> 30 55 14 3 23 5 16 79 77
1-2
2-1
3-3
4-1
5-3
6-1
7-3
8-0
9-1
Q) 시험 성적 점수대 통계
- 학생들의 점수를 입력
- 점수를 10점 단위로 구분
- 점수대별 학생 수를 출력 (100점대부터 먼저 출력)
- ex) 80-5 => 80점대 5명
arr=list(map(int,input().split()))
count_arr=[0]*11
for i in arr:
count_arr[i//10]+=1
for i in range(10,0,-1):
print(f'{i*10}-{count_arr[i]}')
>> 55 67 89 40 99 100 87 63 100
100-2
90-1
80-2
70-0
60-2
50-1
40-1
30-0
20-0
10-0
Q) 나머지의 제곱
- 두 수 a, b를 입력
- 2 <=b <=10
- a가 1 이하가 될 때까지 나눗셈을 반복
- 각 연산마다 나머지들이 등장한 횟수를 제곱
- 제곱한 값들의 합을 출력
a,b=map(int,input().split())
count_arr=[0]*10
while True:
print(f'{a} / {b} = {a//b} ... {a%b}')
count_arr[a%b]+=1
a=a//b
if a<=1: break
sum_val=0
for i in range(0,10):
if count_arr[i]!=0:
print(f'{i}는 {count_arr[i]}번')
sum_val+=count_arr[i]**2
print(sum_val)
결과
>> 1000 4
1000 / 4 = 250 ... 0
250 / 4 = 62 ... 2
62 / 4 = 15 ... 2
15 / 4 = 3 ... 3
3 / 4 = 0 ... 3
0는 1번
2는 2번
3는 2번
9
- 두 수가 1000 4 일 때, 나머지가 0이 1번, 2가 2번, 3이 2번 등장
- 1^2 + 2^2 + 3^2 = 9
'파이썬(Python)' 카테고리의 다른 글
리스트 최대, 최소 (0) | 2022.10.23 |
---|---|
리스트 탐색 (0) | 2022.10.22 |
리스트 만들기 (0) | 2022.10.14 |
리스트와 인덱스 (0) | 2022.10.10 |
리스트 (list) (0) | 2022.10.01 |