본문 바로가기
BaekJoon

[백준 알고리즘] [2588번 곱셈] 풀이 & 자바 코드

by MiZoo 2020. 8. 30.

반갑습니다! 미주입니다:^)

 

요즘에 백준 알고리즘을 단계별로 풀고 있는 중입니다! 하핳

저처럼 한번 해보는 것도 알고리즘 공부에 많은 도움이 될듯합니다!

제가 풀었던 문제들(그 중에 맞았던 문제들)의 풀이와 자바 코드를 여기에 업로드할 계획입니다!

참고삼아 보시고 틀린 부분이나 더 좋은 방법이 있다면 댓글을 통해 알려주세요 :^) 하핳

 

이번에는 "2588번 곱셈" 문제입니다!

구현에 대한 문제이며 간단해서 쉽게 해결하실 수 있습니다 하핳 :^)

 

[문제&입력&출력]

백준 알고리즘 2588번 곱셈
백준 알고리즘 2588번 곱셈

 

[풀이]

세자리 자연수 2개를 입력받아 "중간 계산 과정"과 "계산 결과"를 출력합니다!

입력받은 자연수 2개를 abc와 efg라고 가정합니다

각 알파벳은 자릿수를 의미합니다 예를 들어, a는 100의 자리이고 f는 10의 자리입니다

첫 번째 출력은 abc와 g를 곱한 결과이고

두 번째 출력은 abc와 f를 곱한 결과이고

세 번째 출력은 abc와 e를 곱한 결과입니다

이때, 출력에서 g, f, e 모두 1의 자리입니다

따라서,

첫 번째 출력은 abc(472)와 g(5)를 곱한 결과, 472*5=2360이고

두 번째 출력은 abc(472)와 f(8)를 곱한 결과, 472*8=3776이고

세 번째 출력은 abc(472)와 e(3)를 곱한 결과, 472*3=1416입니다

마지막 출력은 abc와 efg를 곱한 결과입니다

 

[자바 코드]

import java.io.*;
public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int A, B, cal1, cal2, cal3;
		String str = "";
		
		str = br.readLine();
		A = Integer.parseInt(str);
		str = br.readLine();
		B = Integer.parseInt(str);
		
		cal1 = B % 10 * A;
		cal2 = B / 10 % 10 * A;
		cal3 = B / 100 * A;
		
		bw.write(String.valueOf(cal1));
		bw.newLine();
		bw.write(String.valueOf(cal2));
		bw.newLine();
		bw.write(String.valueOf(cal3));
		bw.newLine();
		bw.write(String.valueOf(A*B));
		bw.newLine();
		
		bw.close();
	}
}

알려드린 것이 도움되길 바라며 다들 자바 공부 열심히 하세요~!~! :^)

댓글