코딩 테스트/JAVA - 백준 단계별로 풀어보기
[백준 Java] 일반 수학 1 - 2745번: 진법 변환
kms152000
2025. 2. 15. 18:48

import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
String N = st.nextToken();
int B = Integer.parseInt(st.nextToken());
int sum = 0;
int tmp = 1;
for (int i = N.length() - 1; i >= 0; i--) {
char c = N.charAt(i);
if (c >= 'A' && c <= 'Z') {
sum += (c - 55) * tmp; // A의 아스키코드 = 65
} else {
sum += (c - 48) * tmp; // 0의 아스키코드 = 48
}
tmp *= B;
}
bw.write(String.valueOf(sum));
br.close();
bw.flush();
bw.close();
}
}