📝 문제
💡 A×B를 계산하다 지겨워진 형택이는 A×B를 새로운 방법으로 정의하려고 한다.
A에서 한 자리를 뽑고 × B에서 임의로 한 자리를 뽑아 곱한다.
가능한 모든 조합 (A가 n자리, B가 m자리 수라면 총 가능한 조합은 n×m개)을 더한 수로 정의하려고 한다.
예를 들어 121×34는 1×3 + 1×4 + 2×3 + 2×4 + 1×3 + 1×4 = 28 이 된다.
이러한 형택이의 곱셈 결과를 구하는 프로그램을 작성하시오.
⚙️ 입력 : 첫째 줄에 A와 B가 주어진다.
주어지는 두 수는 모두 10,000자리를 넘지 않는 음이 아닌 정수이다.
수가 0인 경우에는 0만 주어지며, 그 외의 경우 수는 0으로 시작하지 않는다.
⚙️ 출력 : 첫째 줄에 형택이의 곱셈 결과를 출력한다.
1225번: 이상한 곱셈
첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는 음이 아닌 정수이다. 수가 0인 경우에는 0만 주어지며, 그 외의 경우 수는 0으로 시작하지 않는다.
www.acmicpc.net
✅ 풀이
a, b = map(int,input().split())
a = str(a)
b = str(b)
suma = 0
sumb = 0
for i in range(0,len(a),1):
suma += int(a[i])
for i in range(0,len(b),1):
sumb += int(b[i])
print(suma * sumb)
💡 a의 각 자리에 b의 각 자리를 모두 곱한 것을 더했기 때문에,
123 45의 경우, 1×4 + 1×5 + 2×4 + 2×5 + 3×4 + 3×5 = 54라고 할 수도 있지만,
(1+2+3) * (4+5) = 54라고 할 수 있다.
따라서 해당 아이디어를 간단하게 코드로 구현했다.