코딩테스트 준비/기타 문제들
숫자의 개수 - 백준 2577 파이썬
갑자기 내리는 비
2021. 5. 27. 17:32
세 숫자를 입력받아 곱합니다. 곱하고 나온 숫자에 0~9의 숫자가 몇개씩 있는지 확인하는 코드를 작성합니다.
입력:
150 266 427
출력:
3
1
0
2
0
0
0
2
0
0
from sys import stdin
mul_num = 1
for i in range(3):
mul_num = mul_num * int(stdin.readline())
mul_num = str(mul_num)
dic_num = dict()
for i in range(10):
dic_num[i] = 0
for char in mul_num:
dic_num[int(char)] = dic_num[int(char)] + 1
for i in range(10):
print(dic_num[i])
코드 해석 :
3번의 입력을 받습니다. 입력받을때마다 값을 곱해줍니다.
곱한 숫자를 문자열로 바꿔줍니다.( for문을 이용할 것입니다 )
0~9의 숫자를 key값으로 가진 딕셔너리를 생성하고 초기화합니다.
곱한 숫자를 하나씩 받아와 해당 key값일 경우 해당 값을 +1 해줍니다.
https://www.acmicpc.net/problem/2577