1. 문제
- 세 자리수 × 세 자리수의 과정을 출력한다.

2. 출제의도 파악하기
- 2번째로 입력 받은 수를 백의 자리, 십의 자리, 일의 자리로 구분해서 연산 가능?
3. 풀이
- 1. 입력 받은 두 수 중 첫 번째로 입력받은 수를 정수형으로 바꿔준다.
- 2. 두 번째로 받은 수는 문자열이므로, 인덱스를 활용해 첫 번째 입력 받은 수와 연산한다.
- 3. 두 수의 곱을 위해 두 번째 숫자를 정수형으로 바꿔준다.
- 4. 출력 형식은 줄바꿈으로 표현한다.
a = int(input())
b = input()
print(a * int(b[-1]), a * int(b[-2]), a * int(b[0]), a * int(b), sep='\n')
4. 남의 버전 분석
- 몫과 나머지 연산을 통해 각 자리 수 계산을 해줌
a = int(input())
b = int(input())
num_100 = a * (b // 100) # 백의 자리와 계산
num_10 = a * (b % 100 // 10) # 십의 자리와 계산
num_01 = a * (b % 100 % 10) # 일의 자리와 계산
result = a * b
print(num_01, num_10, num_100, result, sep='\n')
a = int(input())
b = int(input())
# print에 직접 넣은 경우
print(a * (b % 100 % 10), a * (b % 100 // 10), a * (b // 100), a * b, sep='\n')
5. 출력 확인


'백준' 카테고리의 다른 글
백준 9498 시험 성적 파이썬 (0) | 2022.02.10 |
---|---|
백준 1330 두 수 비교하기 파이썬 (0) | 2022.02.09 |
백준 10430 나머지 파이썬 (0) | 2022.02.07 |
백준 10869 사칙연산 파이썬 (0) | 2022.02.06 |
백준 1008 A / B 파이썬 (0) | 2022.02.05 |