#11. 백준 2588번 문제 풀이: 곱셈 | 문제 원본 보기 |
--입력-- 472 385 --출력-- 2360 3776 1416 181720
472 (1) 세자리수는 정수형으로 저장 385 (2) 는 문자열 상태에서 각 자리 수를 분리해서, 3, 8, 5 로 저장 (3) 은 (1)*5, (4) 는 (1)*8, (5) 는 (1)*3 (6) 은 (3) + (4)*10 + (5)*100 : 자리수 만큼 곱해서 더해줌 -(6) 은 (1)*(2) 직접 곱해도 되지만 출제 원리에 맞게 위에 설명한 결과를 더하는 방식으로 구현해 보겠습니다.
s1 = input()
s2 = input()
# 세자리 숫자값을 문자열로 받음
n1 = int(s1) # (1) 값을 정수로 변환
n2_1 = int(s2[2]) # (2) 값에서 1의 자리수 정수로 변환
n2_10 = int(s2[1]) # (2) 값에서 10의 자리수 정수로 변환
n2_100 = int(s2[0]) # (2) 값에서 100의 자리수 정수로 변환
n3 = n1 * n2_1 # (3) 1의 자리수 곱셈 결과
n4 = n1 * n2_10 # (4) 10의 자리수 곱셈 결과
n5 = n1 * n2_100 # (5) 100의 자리수 곱셈 결과
n6 = n3 + n4*10 + n5*100 # (6) 각 자리수 곱해서 더한 결과
print(n3, n4, n5, n6, sep="\n")
# (3) ~ (6)까지 값 출력, 사잇값(sep)는 줄바꿈으로 처리.