반응형
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(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;
}
반응형
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
백준 10171번 고양이 정답 코드 (0) | 2024.10.05 |
---|---|
백준 11382번 꼬마 정민 정답 코드 (0) | 2024.10.05 |
백준 10430번 나머지 정답 코드 (0) | 2024.10.05 |
백준 18108번 1998년생인 내가 태국에서는 2541년생?! 정답 코드 (0) | 2024.10.05 |
백준 10926번 ??! 정답 코드 (0) | 2024.10.05 |
댓글