본문 바로가기
컴퓨터 공학/백준

[백준] JAVA 자바 : 진법 변환 2 (11005번)

by kim-dev 2024. 1. 22.
반응형

진법 변환하는 문제이다. 사실 10진수를 N진수로 변환하는 건 그냥 10진수 수를 N으로 계속해서 나눈 나머지를 반환하면 돼서 굉장히 쉬운 문제이다.

 

import java.io.*;
import java.util.StringTokenizer;

public class RadixChange2_11005 {
    
    public static int stoi(String str) {
        return Integer.parseInt(str);
    }


    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        int N = stoi(st.nextToken());
        int B = stoi(st.nextToken());
        
        // B로 계속 나눠서 나머지를 sb에 담는다.
        while (N > 0) {
            int inp = N % B;
            if (inp >= 10) { // 나머지가 10 이상이라면
                sb.append((char)(inp - 10 + 'A')); // 그에 해당하는 알파벳을 담는다
            } else { // 나머지가 10 이하라면
                sb.append(inp); // 그 수를 담는다
            }
            N /= B;
        }
        
        System.out.print(sb.reverse());
        
        br.close();
    }
}

 

 

로그인

 

www.acmicpc.net

 

 

작성일자: 2023-09-17