신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

곱셈

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

 

2588번: 곱셈

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

www.acmicpc.net

문제 풀이는 글 아래에 있습니다.


문제

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.


(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

출력

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


예제

예제입력

472
385

예제출력

2360
3776
1416
181720

 

Python 문제 풀이

# -*- coding: utf-8 -*-

import sys


def std_input():
    return sys.stdin.readline().strip()


if __name__ == "__main__":
    # 입력
    num = int(std_input())
    num_list = list(map(int, std_input()))

    # 결과
    result = [0, 0, 0, 0]
    for index, _ in enumerate(num_list):
        result[2 - index] = num * _
        result[3] += result[2 - index] * pow(10, 2 - index)

    # 출력
    for _ in result:
        print(_)

첫번째 숫자는 그대로 입력받습니다.

두번째 숫자는 각각의 자리에 위치한 숫자들을 리스트(배열) 형태로 받습니다.

 

 

result 라는 리스트를 만들어서 나중에 for문으로 한번에 출력할 겁니다.

  • index 0: 1의 자리 결과 값
  • index 1: 10의 자리 결과값
  • index 2: 100의 자리 결과값
  • index 3: 최종 곱셈 결과값

 

pow()라는 메소드를 이용하여 10의 제곱수를 만듭니다.


정답 확인

정답 확인

 

본 글은 직접 문제를 풀어보고 작성한 글입니다.
더 좋은 방법이 있거나 틀린부분이 있다면 댓글로 공유해주세요!
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기