본문 바로가기

컴퓨터/백준 알고리즘

백준 알고리즘 - 11005번: 진법 변환 2 [Java]

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

 

11005번: 진법 변환 2

10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를

www.acmicpc.net

1. 코드

import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int B = sc.nextInt();
		Stack <String> s = new Stack<>();
		while(N > 0) {
			int temp = N % B;
			if(temp >= 10 && temp <= 35)
				s.push(String.valueOf((char)('A' + temp - 10)));
			else
				s.push(String.valueOf(temp));
			N /= B;
		}
		while(!s.isEmpty())
			System.out.print(s.pop());
	}
}

2. 설명

10진수를 2진수로 변환하는 방법을 알면 쉽게 해결이 가능하다.