프로그래밍/파이썬 공부

[백준 #2577][Python] 숫자의 개수

winblack22 2021. 9. 6. 20:38

문제

세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.

예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다.

 

풀이

a= int(input())
b= int(input())
c= int(input())

mul = list(str(a*b*c))

for i in range(10):
    print(mul.count(str(i)))

제일 먼저... 고민했던 건, a*b*c 의 결과값을 각 자리수로 나눠서 list에 넣지? 였다.

감사하게도 구글 선생님은 엄청난 검색엔진을 나에게 제공한다...

파이썬 리스트 자릿수 치니까 많은 검색 결과를 볼 수 있었다...

list(str(a*b*c))로 해결!!

 

처음에는 count를 어떻게 하지 고민했는데...

내가 예전에 count함수를 배우고나서 count함수를 직접 구현해보라는 과제를 받은 적이 있어서, 아 맞다 직접 구현 안해도 되지!! 생각이 났다. 이래서 경험이 중요하다...

count함수도 생각 안나서 여러 자료와 블로그를 읽고 배웠다...

우리는 0부터 9까지의 숫자만 세주면 되니까!

mul.count(str(i)))로 해결!!