개발 공부/알고리즘 문제풀이

[백준] 2588. 곱셈

5묘 2022. 7. 11. 22:44
 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.




정답:

n = int(input())
m = input()
sum = 0

for i in range(2, -1, -1):
    num = int(m[i]) * n
    print(num)
    sum += num * (10 ** (2-i))

print(sum)

처음에 별 생각 없이 10으로 계속 나눠서 100의 자리 숫자부터 1의 자리 숫자 순으로 출력했는데,
1의 자리부터 출력해야 한다는 것을 코드 다 짜놓고 알아버렸다.

수식으로도 풀 수 있지만, 머릿속에 떠오른 가장 쉬운 방법이 뒤에 오는 수를 문자열로 받아서,
맨 뒤부터 차례대로 int 형으로 바꿔서 곱한 값을 더하는 거였다. 그래서 위의 코드처럼 구현했다.