본문 바로가기
코딩/BAEKJOON

[백준/BAEKJOON] 2588번 곱셈 JAVA

by JEONJIHO 2021. 8. 9.
반응형

1.

toCharArray() 라는 문자열을 char 배열 형태로 반환해주는 메소드가 있다.

 

JAVA API 에서의 설명은 이러하다.

 

 

즉 위 메소드로 character 배열로 만들어준 뒤 하나씩 배열에서 꺼내서 쓰는 방법이다.

나중에 문자열 길이가 가변적으로 입력으며 문자 하나씩 참조해야할 때 매우 유용한 메소드 중 하나다.

 

2.

 

str 에 문자열 abcdef 가 저장되어있을 때 문자열을 문자들이 모인 배열이라고 보고 인덱스를 참조하여 해당 문자를 반환하는 것이다.

이때 반환되는 값은 아스키코드값인 문자 (char)이다.

 

String num = 345; 가 있다고 하자.

int result = num.charAt(0);라고 하면 result = 3 으로 착각할 수 있으나 실은 문자의 '3' 이지 숫자 3 이 아니라는 것이다.

즉, result = 51 이 저장되는 것이다.

 

아스키 코드값을 보려면 아래 사진을 참고하면 된다.

 

 

 

 

 

그렇기에 풀이 방법에도 각각의 문자열 인덱스를 참조한 뒤 -'0' 을 해주는 이유 또한 우리가 문자로 저장된 숫자가 아닌 우리가 보는 숫자 그대로의 값을 쓰기 위한 것이다.

 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {

	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	
		int a = Integer.parseInt(br.readLine());
		String b = br.readLine();
		
		char[] c = b.toCharArray();
		
		System.out.println(a * (c[2] - '0'));
		System.out.println(a * (c[1] - '0'));
		System.out.println(a * (c[0] - '0'));
		System.out.println(a * Integer.parseInt(b));
	

	}

}