i  번째 자리는 (16 ^ i - 1) * ni 이다.

import java.util.*;
import java.io.*;
/**
* https://www.acmicpc.net/problem/1550
* BOJ 백준온라인져지 1550 16진수 풀이
*/
public class Main {
private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
private static int N, M;
private static boolean visited[], edges[][];
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1[] = br.readLine().split("");
int result = 0;
int c = 1;
for (int i = 0; i < str1.length; i++) {
int temp = str1[str1.length - i - 1].charAt(0);
if (temp >= 'A' && temp <= 'F') temp = temp - 'A' + 10;
else temp = temp - '0';
result += temp * c;
c *= 16;
}
bw.write(String.valueOf(result));
bw.flush();
}
}
view raw Main.java hosted with ❤ by GitHub
시간 제한메모리 제한제출정답맞은 사람정답 비율
2 초128 MB37222384214465.747%

문제

16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.

출력

첫째 줄에 입력으로 주어진 16진수 수를 10진수로 변환해 출력한다.

예제 입력 1 

A

예제 출력 1 

10


+ Recent posts