728x90
반응형
https://www.acmicpc.net/problem/11005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
char[] arr = new char[36];
StringBuilder sb = new StringBuilder();
int num = sc.nextInt();
int slice = sc.nextInt();
int i = 0;
while (num > 0) {
int strNum = num % slice;
if (strNum < 10) {
arr[i] = ((char) (strNum + '0'));// 숫자
} else {
arr[i] = ((char) (strNum - 10 + 'A'));
}
num /= slice;
i++;
}
for (int j = i; j >= 0; j--) {
sb.append(arr[j]);
}
System.out.println(sb.toString().trim());
}
}
|
cs |
60466175을 36으로 나눴을 때 나머지가 35가 나오기 때문에 z가 출력된다. 몫이 0이될때 까지 나머지의 범위에 따라 알파벳 또는 숫자를 출력해주면된다. 다만 주의깊게 봐야할 부분은 예를 들어 2 2를 넣었을 때 10 이 나와야 하므로
for (int j = i; j >= 0; j--) {
sb.append(arr[j]);
}
--> 이 코드를 통해 01 이 나오는 걸 10으로 뒤집어주면 된다 !
728x90
반응형
'알고리즘 > 기초수학' 카테고리의 다른 글
[java 백준] 실버 4/ 2089번 -2진수 (0) | 2021.09.12 |
---|---|
[java 백준] 브론즈 2/ 2745번 진법 변환 (0) | 2021.09.07 |
[java 백준] 실버 3/ 9613번 GCD 합 (0) | 2021.09.04 |
[java 백준] 실버 2/ 1850번 최대공약수 (0) | 2021.09.04 |
[java 백준] 실버 5/ 2609번 최대공약수와 최소공배수 (0) | 2021.09.03 |
댓글