백준 2577 : 숫자의 개수 | 파이썬

유경의 공부방·2022년 3월 24일
0

python

목록 보기
2/13

문제

세 개의 자연수 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, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.

출력

첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 번째 줄까지 A × B × C의 결과에 1부터 9까지의 숫자가 각각 몇 번 쓰였는지 차례로 한 줄에 하나씩 출력한다.

풀이

a=int(input())
b=int(input())
c=int(input())
result=list(str(a*b*c))
for i in range(10):
    print(result.count(str(i)))

설명

일단 줄마다 a, b, c 정수형 변수를 만들고 입력받게 하기

(입력 조건 무시하고 한 줄에 입력하면 오류날 수 있음..개뽝)

abc의 결과를 문자열로 만들고 이 때 list를 써서 리스트로 변환한다

( 맨 첨 코드 짤 때 이 과정을 변수들 곱한 뒤에 1개 단위로 나눌까 했더니, 문자열로 만들고 list변환 시키면 알아서 한 개 단위로 끊기는 걸 알게 됨. 맞니?)

for문 사용해서 10번 반복해주고 count로 요소 세주기

이 때 요소는 str(i)인데 result의 값을 이전에 str, 문자열로 변환시켜 줬기 때문에 i 를 str로 변환시켜 요소의 개수를 세주면 된다.

0개의 댓글