문제
문제해결
- A진법을 10진법으로 바꾼 후 다시 B진법으로 바꾸면 된다
import java.util.Scanner;
import java.util.Stack;
public class B11576 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int size = sc.nextInt();
// 1. A진법 -> 10진법
int tmp = 0; //A진법을 10진법으로 바꾼 숫자
int idx = size-1; //승수
for (int i = 0; i < size; i++) {
int num = sc.nextInt();
tmp += num * Math.pow(a, idx--);
}
// 2. 10진법 -> B진법
Stack<Integer> stack = new Stack<>();
while (tmp!=0){
stack.push(tmp%b);
tmp /= b;
}
// 3. 결과 출력
while (!stack.isEmpty())
System.out.print(stack.pop() + " ");
}
}
'[알고리즘] > 백준' 카테고리의 다른 글
백준 1463 자바 - 1로 만들기 (0) | 2021.07.19 |
---|---|
백준 11653 자바 - 소인수분해 (0) | 2021.07.10 |
백준 2745 자바 - 진법 변환 (0) | 2021.07.08 |
백준 11005 자바 - 진법 변환2 (0) | 2021.07.07 |
백준 17103 자바 - 골드바흐 파티션 (0) | 2021.07.06 |