반응형
● 문제 : (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(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 형으로 바꾸어주면 끝.
'백준 문제풀이' 카테고리의 다른 글
(9498) 백준 문제풀이 - 시험성적 / JAVA (0) | 2021.01.31 |
---|---|
(1330) 백준 문제풀이 - 두 수 비교하기 / JAVA (0) | 2021.01.31 |
(10430) 백준 문제풀이 - 나머지 / JAVA (0) | 2021.01.30 |
(10869) 백준 문제풀이 - 사칙연산 / JAVA (0) | 2021.01.30 |
(1008) 백준 문제풀이 - A/B / JAVA (0) | 2021.01.30 |
댓글