IT/coding test

[Java] 백준 - 2588

돔녕 2025. 1. 26. 02:05

우선 본인은 자바 공부한지 일주일도 안됐다는 점을 유의해주시라..

 

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        
        int A = in.nextInt();
        String B = in.next(); 
        
        int B1 = B.charAt(2)-'0'; // '0'을 빼서 숫자로 변환
        int B2 = B.charAt(1)-'0';
        int B3 = B.charAt(0)-'0';
        in.close();
        
        System.out.println(A*B1);
        System.out.println(A*B2);
        System.out.println(A*B3);
        System.out.println(A*Integer.parseInt(B));
        
    }
}

 

  • int(B) 가 아닌 Integer.parseInt(B) 를 사용해야 하는 이유?
    • Java에는 int() 같은 함수가 존재하지 않음
    • Python에서는 int("123")로 문자열을 숫자로 변환하지만, Java에서는 Integer.parseInt(B)를 사용해야 함
  • B.charAt()는 문자 하나를 반환하는데, 문자열(char)은 아스키 코드 값으로 변환될 수 있음을 유의하자.
    • 예) char B1 = B.charAt(0); // '1' (아스키 코드 49)
    • int B1 = B.charAt(0); // 49 (문자의 아스키 코드 값)
    • -> 숫자로 변환하려면 '0'을 빼줘야 함 (int B1 = B.charAt(0) - '0'; // 1)
 
그럼 위의 코드를 좀 더 보기 깔끔하게 정리하려면 어떻게 해야할까?
import java.util.*;

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();
        
        for(int i=2; i>=0; i--){
            int Bi = B.charAt(i)-'0';
            System.out.println(A*Bi);
        }
        System.out.println(A*Integer.parseInt(B));
        
    }
}

 

일단 가능한 수준으로 이렇게 바꿔봤다!

'IT > coding test' 카테고리의 다른 글

[Java] 백준 - 2753  (0) 2025.01.28
[Java] 백준 - 9498  (0) 2025.01.28
[Java] 백준 - 1330  (0) 2025.01.28
[Java] 백준 - 10171  (0) 2025.01.28
[Java] 백준 - 11382  (0) 2025.01.26