백준(Python) 풀이/수학

백준(Python) 2577번 숫자의 개수 풀이

개발윗미 2021. 9. 28. 13:15

Python으로 구현한 2577번 숫자의 개수 문제 풀이입니다.

 

https://www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.

www.acmicpc.net


a, b, c = int(input()), int(input()), int(input())
data = a * b * c
arr = [0] * 10

while True :
  arr[data % 10] += 1
  data //= 10
  if data == 0 :
    break

for i in range(10) :
  print(arr[i])

 

각 숫자의 등장 횟수를 의미하는 리스트 arr를 초기화 해준다.

 

while문을 통해 세 개의 자연수를 모두 곱한 값의 1의 자리를 확인하고 그 값을 리스트의 인덱스로 하여 1 증가시킨다.

 

그 후 세 개의 자연수를 모두 곱한 값을 10으로 나눠 다시 1의 자릿수를 확인할 수 있도록 한다.

 

만약 모든 처리가 끝나 data의 값이 0이 된다면 반복문을 종료하고 리스트 arr의 각 인덱스 값을 출력한다.