
n진법에 대한 개념만 있으면 된다. n진법의 각 자릿수는 n진법의 거듭제곱과의 곱으로 이루어진다.
예를 들어 10진법 394는 3*10^2 + 9*10^1 + 4*10^0 으로 이루어진다.
마찬가지로 2진법 110 은 10진법으로 1*2^2 + 1*2^1 + 0*2^0 = 6이다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int n = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
char[] radix = new char[36]; // 진법 각 자릿수를 표기할 배열
for (int i=0; i<=9; i++) {
radix[i]=(char) (i+48);
} // 0부터 9까지는 그대로
for (int i=10; i<=35; i++) {
radix[i]=(char) (i+55);
} // 10부터 35까지는 A~Z
StringBuilder sb = new StringBuilder();
if (n==0) {
System.out.println(0);
} else {
while (n!=0) {
sb.insert(0, radix[n%b]);
n/=b;
}
System.out.println(sb);
}
}
}'백준 문제풀이' 카테고리의 다른 글
| 11576 : Base Conversion (자바, Java) (0) | 2022.11.22 |
|---|---|
| 2745. 진법 변환 (자바, Java) (0) | 2022.11.22 |
| 17103. 골드바흐 파티션 (자바, Java) (0) | 2022.11.22 |
| 2089. -2진수 (자바, Java) (0) | 2022.11.22 |
| 1212. 8진수 2진수 (자바, Java) (0) | 2022.11.22 |