문제
https://www.acmicpc.net/problem/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)))
# 세준다
그래서 이게 최종 코드다.
'BOJ > [BOJ] Python' 카테고리의 다른 글
백준 1546번 풀이 (0) | 2022.08.18 |
---|---|
백준 3052번 풀이 (0) | 2022.08.18 |
백준 2438, 2439번 문제 풀이 (0) | 2022.08.18 |
백준 8393번 풀이 (0) | 2022.08.18 |
백준 10950번 풀이 (0) | 2022.08.18 |