문제 자체는 생각보다 난이도는 낮았지만, 내가 푼 방법은 조금 난잡하게 풀었다.
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_list에 append 시켜주고,
다음에는 standard_num(=1) 에 num_list의 숫자들을 모두 곱해준 값을 저장해주고,
이 standard_num을 integer_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을 통해서 찾는 것도 가능하다.
'알고리즘 테스트 > 백준 문제풀이 및 해설' 카테고리의 다른 글
<백준 문제풀이: 1546번> 파이썬 - 평균 (0) | 2020.11.05 |
---|---|
<백준 문제풀이: 3052번> 파이썬 - 나머지 (0) | 2020.11.05 |
<백준 문제풀이: 2562번> 파이썬 - 최댓값 (0) | 2020.11.03 |
<백준 문제풀이: 10818번> 파이썬 - 최소, 최대 (0) | 2020.11.02 |
<백준 문제풀이: 1110번> 파이썬 - 더하기 싸이클 (0) | 2020.11.01 |