본문 바로가기
1일 1 백준 [Java]/단계01 : 입출력과 사칙연산

[백준 / Java ] 2588번 곱셈

by 김꾸꾸(하트) 2023. 4. 14.

https://www.acmicpc.net/problem/2588

문제

풀이

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        
        Scanner scanner = new Scanner(System.in);
        
        int A = scanner.nextInt(); // (1)의 위치
        String B = scanner.next(); // (2)의 위치
        
    System.out.println(A * (B.charAt(2) - '0'));// (3)의 위치
		System.out.println(A * (B.charAt(1) - '0'));// (4)의 위치
		System.out.println(A * (B.charAt(0) - '0'));// (5)의 위치
		System.out.println(A * Integer.parseInt(B));// (6)의 위치
        
        
        
    }
}

 

 

charAt() 메서드

정의

대입된 문자열의 문자 하나만을 index값에 따라 불러와

아스키코드값으로 반환시켜주는 String클래스의 메서드

 

 

예시

String B = “123”

charAt(2)  👉 2번째 요소인 "3"이 출력됨

charAt(1)  👉 1번째 요소인 "2"가 출력됨

charAt(0)  👉 0번째 요소인 "1"이 출력됨

//tip - 배열의 순서는 0부터 시작함

 

 

charAt() - ’0’ 해주는 이유

“1” 이런식으로 String형으로 받은 숫자를

int형으로 바꿔주면 아스키코드값으로 나오게 됨.

“1”의 아스키코드값은 49이기 때문에 1로 만들어주기 위해서는

48을 빼줘야함 👉 49 - 48 = 1

 

그래서 “0”을 빼주는 거임

“0”의 아스키코드값이 48이여서.

 

 

 

 

 

 

parseInt()메서드

정의

String형을 int형으로 바꾸어 주는 Integer클래스의 메서드

 

 

예시

String B = "12";
System.out.println( Integer.parseInt(B));
//12 출력됨