본문 바로가기

Algorithm/Baekjoon

[백준_JAVA] 2745 진법 변환

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String N = sc.next();
		int B = sc.nextInt();
		int resultN;
		double resultB;
		int result = 0;
		
		for(int i = 0; i < N.length(); i++) {
			if(N.charAt(i) >= '0' && N.charAt(i) <= '9') {
				resultN = N.charAt(i)-'0';
				resultB = Math.pow(B, N.length()-i-1);
				result += (int)(resultN*resultB);
			}
			else {
				resultN = N.charAt(i)-55;
				resultB = Math.pow(B, N.length()-i-1);
				result += (int)(resultN*resultB);
			}
				
		}
		System.out.println(result);
		
		sc.close();
	}
}

Math.pow(,) 를 이용해서 제곱의 값을 구했다.

36의 0승이 아니라 36의 4승부터 계산된다는 것을 알아야 한다.