
이 포스팅은 자바 8버전으로 풀이가 됐습니다.
문제 출처
https://www.acmicpc.net/problem/1550
1550번: 16진수
첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.
www.acmicpc.net
문제
16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.
출력
첫째 줄에 입력으로 주어진 16진수 수를 10진수로 변환해 출력한다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
// 1550번
public class Main {
public static void main(String[] args) throws IOException {
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
String n = rd.readLine();
System.out.println(Integer.parseInt(n,16));
}catch(IOException e) {
System.out.println("error");
}
}
|
풀이

이 문제는 16진수로 입력된 A 값을 10진수로 변경하는 문법적인 문제이다.
간단한 문법 문제지만 사용될 부분이 있을 것이라 판단하여 문제를 해결하고 풀이를 작성했다.
Scanner와 BufferedReader와 상관없이 값을 입력 받고 그 입력값을 Integer.parseInt()를 활용하여 정수형으로 값을 변경하면 된다.
이때 Integer.parseInt()에 들어가는 값으로 n은 변수이고, 16은 입력되는 진수형을 의미한다.
즉 n, 8을 입력하면 n이라는 변수의 타입은 8진수이고 10진수 정수형으로 값을 입력하는 것을 의미한다.
짧은 포스팅 읽어주셔서 감사드립니다.
오타나 풀이에 대한 문제가 있는 경우 댓글 부탁드리겠습니다.
감사합니다. 다음 포스팅 때 뵙겠습니다!
'백준 - Java' 카테고리의 다른 글
[백준 - 2163][Java] 초콜릿 자르기 (0) | 2022.06.14 |
---|---|
[백준 - 5635][Java] 생일 (0) | 2022.06.12 |
[백준 - 2292][Java] 벌집 (0) | 2022.06.06 |
[백준 - 10250][Java] ACM 호텔 (0) | 2022.06.04 |
[백준 - 1037][Java] 약수 (0) | 2022.05.26 |

이 포스팅은 자바 8버전으로 풀이가 됐습니다.
문제 출처
https://www.acmicpc.net/problem/1550
1550번: 16진수
첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.
www.acmicpc.net
문제
16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.
출력
첫째 줄에 입력으로 주어진 16진수 수를 10진수로 변환해 출력한다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
// 1550번
public class Main {
public static void main(String[] args) throws IOException {
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
String n = rd.readLine();
System.out.println(Integer.parseInt(n,16));
}catch(IOException e) {
System.out.println("error");
}
}
|
풀이

이 문제는 16진수로 입력된 A 값을 10진수로 변경하는 문법적인 문제이다.
간단한 문법 문제지만 사용될 부분이 있을 것이라 판단하여 문제를 해결하고 풀이를 작성했다.
Scanner와 BufferedReader와 상관없이 값을 입력 받고 그 입력값을 Integer.parseInt()를 활용하여 정수형으로 값을 변경하면 된다.
이때 Integer.parseInt()에 들어가는 값으로 n은 변수이고, 16은 입력되는 진수형을 의미한다.
즉 n, 8을 입력하면 n이라는 변수의 타입은 8진수이고 10진수 정수형으로 값을 입력하는 것을 의미한다.
짧은 포스팅 읽어주셔서 감사드립니다.
오타나 풀이에 대한 문제가 있는 경우 댓글 부탁드리겠습니다.
감사합니다. 다음 포스팅 때 뵙겠습니다!
'백준 - Java' 카테고리의 다른 글
[백준 - 2163][Java] 초콜릿 자르기 (0) | 2022.06.14 |
---|---|
[백준 - 5635][Java] 생일 (0) | 2022.06.12 |
[백준 - 2292][Java] 벌집 (0) | 2022.06.06 |
[백준 - 10250][Java] ACM 호텔 (0) | 2022.06.04 |
[백준 - 1037][Java] 약수 (0) | 2022.05.26 |