(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(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 형으로 바꿔서 곱한 값을 더하는 거였다. 그래서 위의 코드처럼 구현했다.
'개발 공부 > 알고리즘 문제풀이' 카테고리의 다른 글
[백준] 1330 두 수 비교하기, 9498 시험 성적, 2753 윤년, 14681 사분면 고르기 (0) | 2022.07.12 |
---|---|
[백준] 2884. 알람 시계 (0) | 2022.07.12 |
[백준] 10926 ??!, 18108 1998년생인 내가 태국에서는 2541년생?!, 10430 나머지 (0) | 2022.07.11 |
[백준] 1000 A+B, 1008 A/B (0) | 2022.07.11 |
[백준] 10172. 개 (0) | 2022.07.11 |