코딩공부/백준 (python)
[백준 2577] 숫자의 개수 (Python)
CodingKwon
2022. 2. 22. 15:43
문제 링크
https://www.acmicpc.net/problem/2577
2577번: 숫자의 개수
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.
www.acmicpc.net
나의 코드 (Python)
# 각 자리를 카운팅할 배열
cnt = [0] * 10
# 입력값
a = int(input())
b = int(input())
c = int(input())
# 숫자의 곱
res = str(a * b * c)
for i in res: # 각 자리를 카운팅
for j in range(10): # 0~9를 돌면서 해당 자리수를 카운팅
if int(i) == j:
cnt[j] += 1
break
# 결과 출력
for k in cnt:
print(k)
세 숫자의 곱에 각 숫자들이 어떤 숫자들로 이뤄지는지 숫자들이 몇 번씩 쓰였는지를 출력합니다.
세 숫자의 곱은 str로 감싸서 반복문을 통해서 한 글자씩 분리할 수 있습니다.
이를 for j in range(10):을 통해서 0~9와 비교합니다.
해당 되는 숫자를 만나면 cnt[j] += 1 을 통해서 카운팅합니다.
이를 for 문으로 출력합니다.
다른 풀이
# 세 숫자 입력
a = int(input())
b = int(input())
c = int(input())
# 세 숫자의 곱
result = list(str(a * b * c))
# 각 자리 수 카운팅
for i in range(10):
print(result.count(str(i)))