```
백준 11816번 8진수, 10진수, 16진수 변환 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 11816번 8진수, 10진수, 16진수 변환 JAVA 풀이
https://www.acmicpc.net/problem/11816
11816번: 8진수, 10진수, 16진수
첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다.
www.acmicpc.net
백준 11816번 8진수, 10진수, 16진수 변환은
난이도 브론즈 등급의 문제로서
8진수, 16진수 10진수 중에 하나인 정수가 주어지고
0으로 시작하면 8진수
0x로 시작하면 16진수일 경우
10진수로 변환해서 출력해주면 되는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
8진수 , 10진수, 16진수 여부를 판단한 다음
string.substring(n);을 사용해서 n번째까지 입력문자를 제거해주고
진수에 맞게 BigInteger(입력 스트링, 진수)를 써서 10진수로 변환하였습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) throws IOException {
final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print(solution(br.readLine()));
}
private static String solution(String input) {
int radix = 10;
if (input.startsWith("0x")) {
input = input.substring(2);
radix = 16;
} else if (input.startsWith("0")) {
input = input.substring(1);
radix = 8;
}
return new BigInteger(input, radix).toString();
}
}
// https://stackoverflow.com/questions/5886619/hexadecimal-to-integer-in-java
// https://codemasterkimc.tistory.com
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
'Java > Java 알고리즘' 카테고리의 다른 글
| 백준 2738번 행렬 덧셈 JAVA 구현해보기 (0) | 2022.07.29 |
|---|---|
| 백준 5524번 입실 관리 JAVA 구현해보기 (0) | 2022.07.21 |
| 백준 2145번 숫자 놀이 JAVA 구현해보기 (0) | 2022.07.14 |
| 백준 1312번 소수점 아래 N번째 수 JAVA 구현해보기 (0) | 2022.07.14 |
| 백준 2556번 별 찍기 - 14 JAVA 구현해보기 (0) | 2022.07.10 |