반응형

11576번 - Base Conversion

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Stack;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		StringTokenizer st = new StringTokenizer(br.readLine());
		int numA = Integer.parseInt(st.nextToken());
		int numB = Integer.parseInt(st.nextToken());

		int m = Integer.parseInt(br.readLine());

		st = new StringTokenizer(br.readLine());

		int demical = 0;

		Stack<Integer> stackResult = new Stack<Integer>();

		for (int i = m - 1; i >= 0; i--) { // A진수의 값을 10진수로 변환해서 저장함
			int tempNum = Integer.parseInt(st.nextToken());
			demical = demical + tempNum * (int) Math.pow(numA, i);
		}

		while (demical > 0) { // 10진수를 B진수로 계산해서 결과값 스택에 저장함
			stackResult.push(demical % numB);
			demical = demical / numB;
		}

		while (!stackResult.empty()) { // 스택에 저장된 값을 출력함
			bw.write(stackResult.pop() + " ");
		}

		bw.flush();
		bw.close();
	}

}

 

 

정답을 맞춘 풀이방법

1 .  A진수로 입력받은 값을 10진수로 변환

2.  10진수로 변환된 값을 B진수로 변환 후 출력함

반응형

'알고리즘 > 백준 문제[추후 옮길예정]' 카테고리의 다른 글

[JAVA] 백준 1463번  (0) 2021.05.22
[JAVA] 백준 11653번  (0) 2021.05.22
[JAVA] 백준 2745번  (0) 2021.05.18
[JAVA] 백준 11005번  (0) 2021.05.18
[JAVA] 백준 17103번  (0) 2021.05.18

+ Recent posts