코딩 테스트/JAVA - 백준 단계별로 풀어보기

[백준 Java] 일반 수학 1 - 11005번: 진법 변환2

kms152000 2025. 2. 15. 23:35

 

 

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));
        StringBuilder sb = new StringBuilder();

        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int B = Integer.parseInt(st.nextToken());

        while (N > 0) {
            if (N % B < 10) {
                sb.append( (char)(N % B + 48) ); // N % B의 값이 0 ~ 9이면 아스키 코드 48 ~ 57로 변형
            } else {
                sb.append( (char)(N % B + 55) ); // N % B의 값이 A ~ Z이면 아스키 코드 65 ~ 90로 변형
            }
            N /= B;
        }

        for (int i = sb.length() - 1; i >= 0; i--) {
            bw.write(sb.charAt(i));
        }

        br.close();
        bw.flush();
        bw.close();
    }
}