728x90
11816 8진수, 10진수, 16진수 (Java)
https://www.acmicpc.net/problem/11816
정수 X가 8/10/16 진수 중 하나입니다. 각각 8진수면 0으로 시작하고, 16진수는 0x나 0X로 시작됩니다. 해당 정수 X를 10진수로 바꿔서 출력하면 됩니다.
// 입력 X는 8, 10, 16 진수로 주어진다.
// if문을 통해 첫번째 문장이 0x와 0X일시 16진수로 0일시 8진수로 인식하여 10진수로 변할 수 있게 구현했다.
// 코드 자체는 GPT의 도움을 받았다.
import java.util.Scanner;
public class Main_11816 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String X = sc.next(); // 16, 8진수는 String으로 받는다. 10진수는 int 이다.
int result;
if (X.startsWith("0x") || X.startsWith("0X")) {
result = Integer.parseInt(X.substring(2), 16);
// String 타입(16/8진수)를 int형(10진수)으로 바꿔준다.
}
else if (X.startsWith("0") && X.length() > 1) {
result = Integer.parseInt(X.substring(1), 8);
}
else {
result = Integer.parseInt(X); // 그외의 경우는 10진수로 출력
}
System.out .println(result);
}
}
728x90
'크래프톤 정글(나만의 무기 만들기 WEEK 14 ~ )' 카테고리의 다른 글
8595 히든 넘버 (Java) (1) | 2025.06.16 |
---|---|
11720 숫자의 합 (파이썬, Java) (0) | 2025.06.16 |
11653 소인수분해 (Java) (1) | 2025.06.16 |
WEEK 14 TIL(6월14일 토요일) (0) | 2025.06.16 |
WEEK 14 TIL (6월13일 금요일) (1) | 2025.06.14 |