공부하기/백준

[Java] 백준 풀기 11816 - 8진수, 10진수, 16진수

XEV 2023. 11. 13. 23:01

자바 백준 11816번

브론즈 

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

 

11816번: 8진수, 10진수, 16진수

첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다.

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 구현, 문자열, 사칙연산, 파싱

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String input = sc.next();
        
        int result;
        
        if (input.startsWith("0x")) {
            // 16진수인 경우, 문자열에서 "0x"를 제외하고 16진수 문자열을 10진수로 변환
            result = Integer.parseInt(input.substring(2), 16);
        } else if (input.startsWith("0")) {
            // 8진수인 경우, 문자열에서 맨 앞의 "0"을 제외하고 8진수 문자열을 10진수로 변환
            result = Integer.parseInt(input.substring(1), 8);
        } else {
            // 10진수인 경우, 입력값을 그대로 10진수로 변환
            result = Integer.parseInt(input);
        }
        
        // 변환된 10진수를 출력
        System.out.println(result);
    }
    
}