출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기

문제 자체는 생각보다 난이도는 낮았지만, 내가 푼 방법은 조금 난잡하게 풀었다.

import sys

num_list = []
standard_num = 1

for i in range(3):
    num = int(sys.stdin.readline())
    num_list.append(num)
    
for j in range(len(num_list)):
    standard_num *= num_list[j]
    
integer_list = [int(x) for x in str(standard_num)]

for k in range(10):
    print(integer_list.count(k))

우선 순서대로 숫자 3개를 출력해야 하기 때문에 for문을 이요하여 num_listappend 시켜주고,

다음에는 standard_num(=1) 에 num_list의 숫자들을 모두 곱해준 값을 저장해주고,

standard_numinteger_list라는 배열에 숫자별로 integer 값으로 나열을 해준다. (ex. 2342 = [2, 3, 4, 2])

마지막으로는 이 숫자들을 0 부터 9까지 각각 숫자가 몇개씩 들어있는지 for문을 이용하여 출력해준다.

 

 

※ 다른 사람의 풀이

 

A = input()
B = input()
C = input()

num = int(A) * int(B) * int(C)
num = str(num)

for i in range(0, 10):
	print(num.count(str(i)))

이와 달리 그냥 간단하게 풀 수도 있다. 내가 한것처럼 list에 숫자를 나열하지 않아도, string으로 숫자를 바꾼 뒤, string을 통해서 찾는 것도 가능하다.