우선 본인은 자바 공부한지 일주일도 안됐다는 점을 유의해주시라..
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 |