본문 바로가기
알고리즘 문제풀이/백준

백준 2588번 곱셈 정답 코드

by 차누감 2024. 10. 5.
반응형

문제

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

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

입력

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

출력

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


정답코드

1. Python

# 두 정수를 입력받기
A = int(input())  # 첫 번째 세 자리 수 A
B = input()       # 두 번째 세 자리 수 B

# B의 일의 자리, 십의 자리, 백의 자리를 분리하여 A와 각각 곱하기
print(A * int(B[2]))  # 일의 자리: B[2]
print(A * int(B[1]))  # 십의 자리: B[1]
print(A * int(B[0]))  # 백의 자리: B[0]

# A와 B의 전체 곱셈 결과 출력
print(A * int(B))

2. Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // 첫 번째 세 자리 수 입력받기
        int A = sc.nextInt();
        // 두 번째 세 자리 수 입력받기 (문자열로)
        String B = sc.next();
        
        // B의 일의 자리, 십의 자리, 백의 자리를 분리하여 A와 각각 곱하기
        System.out.println(A * (B.charAt(2) - '0'));  // 일의 자리
        System.out.println(A * (B.charAt(1) - '0'));  // 십의 자리
        System.out.println(A * (B.charAt(0) - '0'));  // 백의 자리
        
        // A와 B의 전체 곱셈 결과 출력
        System.out.println(A * Integer.parseInt(B));
    }
}

3. C++

#include <iostream>
using namespace std;

int main() {
    int A;
    string B;
    // 두 숫자 A, B 입력받기
    cin >> A >> B;

    // B의 일의 자리, 십의 자리, 백의 자리 각각 곱하기
    cout << A * (B[2] - '0') << endl;  // 일의 자리
    cout << A * (B[1] - '0') << endl;  // 십의 자리
    cout << A * (B[0] - '0') << endl;  // 백의 자리

    // 전체 곱셈 결과 출력
    cout << A * stoi(B) << endl;

    return 0;
}
 

4. JavaScript

const readline = require('readline').createInterface({
    input: process.stdin,
    output: process.stdout
});

const input = [];
readline.on('line', line => {
    input.push(line);
    if (input.length === 2) {
        // 첫 번째와 두 번째 입력값 가져오기
        const A = parseInt(input[0]);
        const B = input[1];
        
        // B의 각 자릿수를 분리하여 A와 각각 곱하기
        console.log(A * parseInt(B[2]));  // 일의 자리
        console.log(A * parseInt(B[1]));  // 십의 자리
        console.log(A * parseInt(B[0]));  // 백의 자리
        
        // 전체 곱셈 결과 출력
        console.log(A * parseInt(B));
        
        readline.close();
    }
});

5. C

#include <stdio.h>

int main() {
    int A;
    char B[4];  // B는 문자열로 받기 위해 크기 4로 선언 (3자리 + NULL)

    // 두 숫자 A, B 입력받기
    scanf("%d", &A);
    scanf("%s", B);

    // B의 각 자릿수와 A의 곱셈 결과 출력
    printf("%d\n", A * (B[2] - '0'));  // 일의 자리
    printf("%d\n", A * (B[1] - '0'));  // 십의 자리
    printf("%d\n", A * (B[0] - '0'));  // 백의 자리

    // A와 B 전체 곱셈 결과 출력
    printf("%d\n", A * atoi(B));

    return 0;
}
반응형

댓글