(2588) 백준 문제풀이 - 곱셈 / JAVA
본문 바로가기
백준 문제풀이

(2588) 백준 문제풀이 - 곱셈 / JAVA

by PAIK'S JAVA 2021. 1. 30.
반응형

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

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

 

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

 

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

 

- 이 문제를 해결하는데는 여러가지 방법이 있으나 [charAt] 기능을 사용해보자.

 

  [charAt]이란?

  String 문자열 문장 중 인덱스 위치에 해당되는 문자를 추출하는 기능이다.

  문제의 385 ... (2) 에서 하나씩 빼서 472 ... (1)에 대입하여 곱하는데 사용해보자.

 

 풀이

import java.util.Scanner;

public class Main { // 곱셈
 
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
 
		int A = in.nextInt();
		String B = in.next();
        
		in.close();
 
		System.out.println(A * (B.charAt(2) - '0'));
		System.out.println(A * (B.charAt(1) - '0'));
		System.out.println(A * (B.charAt(0) - '0'));
		System.out.println(A * Integer.parseInt(B));
 
		in.close();
	}
}

- String 문자열로 받은 [385]는 배열로 보고 인덱스를 참조하여 charAt(0) = 3 이 되는 것이다.

  그리고 뒤에 -'0' 을 해주어야 아스키 코드가 아닌 입력한 숫자 그대로 받아들인다.

  마지막으로 곱셈을 해야하기 때문에 Integer.parseInt()를 통하여 String -> int 형으로 바꾸어주면 끝.

댓글