본문 바로가기

백준 문제 풀이/파이썬

백준 2588번 "곱셈" --- 파이썬

728x90

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

안녕하세요! 오늘은 백준 2588번 문제, "곱셈"에 대해 알아보겠습니다. 😊 이 문제는 두 개의 세 자리 자연수를 입력받아 그 곱셈 과정을 통해 중간 결과와 최종 결과를 출력하는 프로그램을 작성하는 것입니다.

문제 소개

백준 2588번 문제는 기본적인 수학적 사고와 프로그래밍 능력을 요구합니다. 주어진 두 개의 세 자리 수를 곱하는 과정에서 중간 결과를 출력해야 합니다.

문제 이해하기

곱셈은 다음과 같은 과정을 거칩니다:

  1. 첫 번째 숫자(세 자리 수)와 두 번째 숫자(세 자리 수)를 입력받습니다.
  2. 두 숫자를 곱하여 중간 결과를 계산합니다.
  3. 마지막으로 최종 결과를 출력합니다.

입력 및 출력 형식

  • 입력: 첫째 줄에 첫 번째 세 자리 자연수, 둘째 줄에 두 번째 세 자리 자연수가 주어집니다.
  • 출력: 차례대로 중간 결과와 최종 결과를 네 줄로 출력해야 합니다.

예제 설명

예를 들어, 입력값이 다음과 같다고 가정해 보겠습니다:

472
385

출력값은 다음과 같습니다:

2360
3776
1416
181720

여기서 각 줄은 각각의 중간 계산 결과와 최종 곱셈 결과입니다.

파이썬 코드 구현

이제 이 문제를 해결하기 위한 파이썬 코드를 작성해 보겠습니다.

# 두 개의 세 자리 자연수를 입력받습니다.
a = int(input())
b = int(input())

# b의 각 자릿수에 대해 a와 곱하여 중간 결과를 구합니다.
c1 = a * (b % 10)          # 일의 자리
c2 = a * ((b // 10) % 10)  # 십의 자리
c3 = a * (b // 100)        # 백의 자리

# 최종 결과는 a와 b의 곱입니다.
final_result = a * b

# 각 중간 결과와 최종 결과를 출력합니다.
print(c1)
print(c2)
print(c3)
print(final_result)

코드 설명 및 분석

  • input() 함수를 사용하여 사용자로부터 값을 입력받고, int() 함수를 통해 정수형으로 변환합니다.
  • 이후, b의 각 자릿수를 추출하여 a와 곱한 후, 그 값을 변수에 저장합니다.
    • c1: b의 일의 자리 × a
    • c2: b의 십의 자리 × a
    • c3: b의 백의 자리 × a
  • 마지막으로 전체 곱인 final_result도 계산하여 출력합니다.

결과 확인 및 마무리

위 코드를 실행하면 주어진 예제처럼 정확한 중간 값들과 최종 값을 얻을 수 있습니다. 이러한 방식으로 간단한 사칙연산 문제도 프로그래밍적으로 해결할 수 있음을 알게 되었습니다.

이 문제를 통해 기본적인 알고리즘과 프로그래밍 언어에 대한 이해가 중요하다는 것을 느낄 수 있습니다. 앞으로도 다양한 알고리즘 문제들을 풀어보며 실력을 쌓아가길 바랍니다! 💪

728x90