백준 BAEKJOON 33557번 곱셈을 누가 이렇게 해 ㅋㅋ [PYTHON/파이썬]

문제 출처 (SILVER Ⅴ)

https://www.acmicpc.net/problem/33557

 

 

 

 

 

 

 

풀이

먼저 주어진 A, B의 올바른 곱셈 결과를 correct_mul 변수에 저장한 뒤,

A, B의 자릿수가 다르다면 그만큼 앞 쪽에 '1'을 채워주는 작업을 했다.

for 문으로 순회하면서 A, B의 0번째 인덱스부터 곱하여 채운 값을 wrong_mul 변수에 저장한 뒤 비교하여

일반 곱셈 결과와 잘못된 곱셈 결과가 같다면 1을, 그렇지 않다면 0을 출력했다.

 

 

 

 

 

 

코드

T = int(input())

for _ in range(T):
    A, B = input().split()

    correct_mul = int(A) * int(B)

    if len(A) < len(B):
        A = "1" * (len(B) - len(A)) + A
    elif len(A) > len(B):
        B = "1" * (len(A) - len(B)) + B

    wrong_mul = ""

    for i in range(len(A)):
        wrong_mul += str(int(A[i]) * int(B[i]))

    print(1 if correct_mul == int(wrong_mul) else 0)