코딩테스트 준비/기타 문제들

숫자의 개수 - 백준 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