728x90
백준 2588번: 곱셈
✨ 문제
(세 자리 수) x (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2) 위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6) 위치에 들어갈 값을 구하는 프로그램을 작성하시요.
입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
✨ 문제 접근 방법
- 곱셈의 구조 파악
- 먼저 두 개의 세 자리 자연수 A와 B가 주어집니다.
- 곱셈을 할 때 B의 각 자리 수(일의 자리, 십의 자리, 백의 자리)와 A를 곱한 후 자릿수에 맞게 결과를 더해 나가는 세로셈 방식을 사용합니다.
- 세로셈 과정
- (3)번 위치: A와 B의 일의 자리를 곱한 결과입니다.
- (4)번 위치: A와 B의 십의 자리를 곱한 결과입니다.
- (5)번 위치: A와 B의 백의 자리를 곱한 결과입니니다.
- (6)번 위치: 와 의 곱셈 결과입니다.
✨ 답안
a = int(input()) # 첫 번째 숫자를 입력받음
b = input() # 두 번째 숫자를 문자열로 입력받음
# b의 각 자릿수를 뒤에서부터(일의 자리부터) 차례대로 a와 곱셈을 수행하고 출력
for i in range(3, 0, -1):
print(a * int(b[i - 1]))
# a와 b를 곱한 최종 결과 출력
print(a * int(b))
- 입력 값 처리
- 첫 번째 숫자 a는 정수 형태의 세 자리 숫자로 입력받습니다.
- 두 번째 숫자 b는 문자열 형태의 세 자리 숫자로 입력받습니다. → 각 자릿수(백위 자리, 십의 자리, 일의 자리)를 쉽게 나누어 처리할 수 있습니다.
- 곱셈 과정
- for 반복문을 사용하여 b의 자릿수를 뒤에서부터 하나씩 가져와서 a와 곱합니다.
- 첫 번째로 b의 일의 자리(b[2])와 a를 곱한 결과를 출력합니다.
- 두 번째로 b의 십의 자리(b[1])와 a를 곱한 결과를 출력합니다.
- 세 번째로 b의 백의 자리(b[0])와 a를 곱한 결과를 출력합니다.
- 마지막으로 a와 정수로 변환한 b를 곱해서 최종 결과를 출력합니다.
- for 반복문을 사용하여 b의 자릿수를 뒤에서부터 하나씩 가져와서 a와 곱합니다.
728x90
반응형
'코딩테스트 대비' 카테고리의 다른 글
[파이썬(Python)] 백준 10172번 개 (0) | 2024.11.05 |
---|---|
[백준] 10171번 고양이 파이썬(Python) (0) | 2024.11.01 |
[알고리즘] 다이나믹 프로그래밍 (Dynamic Programming) (0) | 2024.10.20 |
[알고리즘] 자주 출제되는 기타 알고리즘 (0) | 2024.10.20 |
[알고리즘] 이진 탐색 (Binary Search) (1) | 2024.10.18 |