백준 2577번 풀이

문제

세 자리 수 세 개를 곱하면 어떤 값이 나올텐데, 그 값에서 0~9까지의 숫자가 몇 개를 썼는지 세면 된다. 입력값은 줄당 하나이고, 출력값은 9줄.

풀이

import sys
a = int(sys.stdin.readline())
b = int(sys.stdin.readline())
c = int(sys.stdin.readline())
# Input

Jupyter에서는 sys 뭐시기 리드라인이 안되는데(모듈 불러오는 건 되는데 입력이 안된다), VScode나 파이참은 된다. 근데 파이참이 지금 바빠요… vcf 불러와서 피벗 만드느냐고… 아무튼 그래서 VScode를 소환했다. 그래서 input보다 빠르다. 그거랑 별개로 딱히 설명할 건 없음.

d=str(a*b*c)
# 곱함

이걸 글자로 바꾸는 이유는 후술.

for i in range(10):
    print(d.counts(i)) # 이게 세주는 게 맞는데 오류가...

그럼 For문 돌리면 되나요? 에, 되긴 되죠. 근데 계산한 결과값이 int면 오류나요. 그리고 for에 저렇게만 줘도 에러터진다.

for i in range(10):
    print(d.count(str(i)))
# 세준다

그래서 계산 결과값과 세 주는 숫자가 다 문자형태여야 한다.

import sys
a = int(sys.stdin.readline())
b = int(sys.stdin.readline())
c = int(sys.stdin.readline())
# Input
d=str(a*b*c)
# 곱함 
for i in range(10):
    print(d.count(str(i)))
# 세준다

그래서 이게 최종 코드다.