반응형

진법 변환하는 문제이다. 사실 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
'컴퓨터 공학 > 백준' 카테고리의 다른 글
[백준] JAVA 자바 : 소인수분해 (11653번) (0) | 2024.01.22 |
---|---|
[백준] JAVA 자바 : 진법 변환 (2745번) (0) | 2024.01.22 |
[백준] JAVA 자바 : 골드바흐 파티션 (17103번) (0) | 2024.01.22 |
[백준] JAVA 자바 : 8진수 2진수 (1212번) (0) | 2024.01.22 |
[백준] JAVA 자바 : 숨바꼭질 6 (17087번) (0) | 2024.01.22 |