728x90
https://www.acmicpc.net/problem/2577
2577번: 숫자의 개수
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.
www.acmicpc.net
주어진 3개의 수를 곱하고 그 값에서 숫자 0~9가 몇번쓰였는지 출력하는 문제이다
# 2577번 문제 : 숫자의 개수
# A,B,C 3개의 자연수가 주어졌을 때 3개를 곱한 수에 0~9가 몇번 쓰였는지 구하는 문제
a=int(input())
b=int(input())
c=int(input())
count=[0 for i in range(10)] # 각 수의 갯수를 카운트하는 리스트 생성
for i in str(a*b*c): # 곱한값을 문자열화 해서 1글자씩 받아온다
k=int(i) # int로 변환
count[k]+=1 # 배열 인덱스가 0~9이기때문에 각 자리의 인덱스값에 +1하면 카운팅이 된다
for j in range(len(count)): # 출력
print(count[j])
바로 문자열로 변환해서 비교하는 로직을 생각했지만 굳이 비교보단 리스트 인덱스를 이용한 방법이 코드도 간결하고 처리속도도 빠를것이라 생각해서 리스트를 이용해서 풀었다
728x90
'알고리즘' 카테고리의 다른 글
| 백준의 알고리즘 8958번 문제(python) (0) | 2021.06.26 |
|---|---|
| 백준의 알고리즘 3052번 문제(python) (0) | 2021.06.25 |
| 백준의 알고리즘 2775번 문제(python) (0) | 2021.06.18 |
| 백준의 알고리즘 9020번 문제(python) (0) | 2021.06.17 |
| 백준의 알고리즘 1929번 문제(python) (0) | 2021.06.15 |