728x90
https://www.acmicpc.net/problem/2588
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
풀이
(3)번의 값은 (1)번의 수와 (2)번의 일의 자리 수를 곱한 결과이고, (4)번의 값은 (1)번의 수와 (2)번의 십의 자리 수를, (5)번의 값은 (1)번의 수와 (2)번의 백의 자리 수를 곱한 결과이다.
(6)번의 값은 (3) + (4) * 10 + (5) * 100을 한 결과이다.
Scanner 클래스를 이용한 방법, BufferedReader 클래스와 StringBuilder 클래스를 이용한 방법으로 풀어 보았다.
코드
Scanner 클래스를 이용한 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
int result3 = num1 * (num2 % 10);
int result4 = num1 * (num2 / 10 % 10);
int result5 = num1 * (num2 / 100 % 10);
int result6 = result3 + result4 * 10 + result5 * 100;
System.out.println(result3);
System.out.println(result4);
System.out.println(result5);
System.out.println(result6);
}
}
BufferedReader 클래스와 StringBuilder 클래스를 이용한 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int num1 = Integer.parseInt(br.readLine());
int num2 = Integer.parseInt(br.readLine());
int result3 = num1 * (num2 % 10);
int result4 = num1 * (num2 / 10 % 10);
int result5 = num1 * (num2 / 100 % 10);
int result6 = result3 + result4 * 10 + result5 * 100;
sb.append(result3).append("\n");
sb.append(result4).append("\n");
sb.append(result5).append("\n").append(result6);
System.out.println(sb);
}
}
틀린 부분이 있다면 정정해주시면 감사하겠습니다.
궁금한 부분이 있거나, 다른 아이디어가 있으시면 자유롭게 댓글 남겨주세요!
728x90
'[JAVA]백준 알고리즘 > 단계별 - 입출력과 사칙연산' 카테고리의 다른 글
[JAVA]백준 알고리즘 10172번 : 개 (0) | 2022.12.30 |
---|---|
[JAVA]백준 알고리즘 10171번 : 고양이 (0) | 2022.12.30 |
[JAVA]백준 알고리즘 10430번 : 나머지 (2) | 2022.12.30 |
[JAVA]백준 알고리즘 18108번 : 1998년생인 내가 태국에서는 2541년생?! (0) | 2022.12.30 |
[JAVA]백준 알고리즘 10926번 : ??! (0) | 2022.12.30 |