간단한 논리구조로 해당 문제를 풀 수 있다.
1) int로 3개의 숫자를 입력받고,
2) 입력 받은 수의 곱의 결과값의 자료형을 list로 변환시킨다.
(여기서 해맸다.. for문을 통해 하고 싶지 않고 map을 통해 하고 싶었다... 그런데 map에서 str(A*B*C) 부분을 str을 사용해야 한다는 점을 계속 간과해서 해맸다.)
3) 이후로는 이중 for문을 통해서 list의 문자 하나씩 i를 통해 비교를 하는데,
4) i와 j를 비교한다 (j는 nums 배열의 방 번호를 뜻하도록 for문에서 0~9까지 비교하도록 한다)
5) 이후에 다시 for문을 통해서 nums 배열을 출력하면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
|
A = int(input())
B = int(input())
C = int(input())
res = list(map(int, str(A*B*C))) # 이 부분을 유의하자. int -> list로 바꾼다.
nums = [0]*10
for i in res:
for j in range(10):
if j == int(i):
nums[j] += 1
for j in range(10):
print(nums[j])
|
cs |
문제 출처: https://www.acmicpc.net/problem/2577
'코딩 문제풀이 및 연습 > Python 연습' 카테고리의 다른 글
[백준] 1259_팰린드롬수 파이썬 (0) | 2021.08.06 |
---|---|
[백준] 1157_단어 공부 파이썬 _ set()와 count() (0) | 2021.08.06 |
[백준] 2908_상수 파이썬 _ reverse()와 [ : : -1] slicing (0) | 2021.08.04 |
[백준] 1546_평균 파이썬 (0) | 2021.08.03 |
[백준] 3052_나머지 파이썬 (런타임에러와 set() 함수로 중복제거) (0) | 2021.08.01 |