본문 바로가기
Algorithm

[구현/수학] 백준 2588 곱셈 - Python

by jangThang 2022. 1. 27.
반응형

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    2588번: 곱셈

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

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     세 자리 수 곱셈 과정을 출력하는 문제입니다.

     

    2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학

     

    [Algorithm] 단골 1번 문제, 구현 / 수학

    1. 구현  단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하여 해결할

    star7sss.tistory.com

     문제의 예시로 나온 세 자릿수 곱셈을 그대로 출력하라고 했다면 어려울 뻔 했습니다. 하지만, (3), (4), (5) 위치에 있는 중간결과값과 최종 결과값만 출력하면 됩니다.

     ABC * DEF 의 곱이라고 할 때, 중간결과값은 단순히 각 자릿수의 숫자만 곱해주면 됩니다. 

    (3) ABC * F

    (4) ABC * E

    (5) ABC * D

    (6) ABC * DEF

     

     

     

    3. 코드

    a = int(input())
    b = int(input())
    
    num = b
    for i in range(3):
        print( (num%10)*a )
        num //= 10
    print(a*b)

     10으로 나눈 나머지를 이용해서 1의 자리를 구하고, 10으로 나눈 몫을 구해 1의 자리를 없애줍니다. 이렇게 3번 반복하면 (3), (4), (5)를 구할 수 있습니다.

     (6)은 a*b를 해주시면 됩니다. 굳이 3,4,5 중간결과를 쓰실 필요는 없습니다.

     

     

     

    반응형

    댓글