CS/BaekJoon

[BaekJoon] 백준 11005번 진법 변환 2 - Java

Bell91 2024. 4. 11. 16:08
반응형

🎈문제

https://www.acmicpc.net/problem/11005

 

💬설명

  • 10부터는 A로 바꾸는 점에 주목하자
  • A가 10 대신이기 때문에 A를 더하고 10을 빼주자

 

⌨️ CODE

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int a = Integer.parseInt(st.nextToken()); //2진법수
		int b = Integer.parseInt(st.nextToken()); //진법
		ArrayList<Character> array = new ArrayList<>();
		
		while(a > 0) {
			if(a%b >= 10) {
				array.add((char)(a%b + 'A' + -10));
			}else {
				array.add((char)(a%b + '0'));
			}
			
			a /= b;

		}
		Collections.reverse(array);
		for(char c : array) {
			System.out.print(c);
		}
		
	}

}
반응형