프로그래밍/java

[백준] 2588번 문제 - 곱셈 - JAVA(자바)

MG_세대 2023. 6. 14. 13:49

문제

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

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


입력

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


출력

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


 

딱 보았을때 첫번째 입력값은 그대로 유지하되

두번째 입려값의 백의자리 십의자리 일의자리만 뽑아서 (3),(4),(5)위치에 들어갈 값을 구해야지라고 생각했다.

 

import java.util.Scanner;

public class b2588 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int b = sc.nextInt();

		System.out.println(a * (b % 10));
		System.out.println(a * ((b % 100 - b % 10)) / 10);
		System.out.println(a * (b / 100));
		System.out.println(a * b);
	}
}

필요한 자리수의 값이외에 0을 만들기 위해 위와같이 식을 만들어보았다.

10의자리 숫자에서는 처음에 80이 나오게 되어서, 나누기 10을 해주었다.

 

이 방법 이외에 다른방법이 있나 생각해 보았을때,

 

두개의 배열을 만들어서 그 배열에서 값을 뽑아내 곱하는 식으로 해볼까 했다가

다른사람들은 어떻게 만들었나 찾아보고 이 문제는 마무리 지었다.