본문 바로가기
알고리즘/백준

2745번 문제 : 진법변환

by son_i 2023. 5. 5.
728x90

2745번: 진법 변환 (acmicpc.net)

 

2745번: 진법 변환

B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 

www.acmicpc.net

자바

기본 중에 기본 ! 진법 변환

B진법 수 N을 10진법으로 변환하는 문제

N을 B의 0승부터 해서 수를 구해본다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

class Main{
	public static void main(String[] args) throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	
    	StringTokenizer st = new StringTokenizer(br.readLine());
    	String N = st.nextToken();
    	int num =0;
    	int B = Integer.parseInt(st.nextToken());
    	int result = 0;
    	for(int i=0;i<N.length();i++) {
    		char c = N.charAt(i);
    		if(c >= 'A' && c<='Z') { //알파벳 대문자면
    			num = c-55;
    		}
    		else num = Character.getNumericValue(c);
    		result += num * (int)Math.pow(B,N.length()-1-i);
    	}
    	System.out.println(result);
 	}
}

'알고리즘 > 백준' 카테고리의 다른 글

2720번 문제 : 세탁소 사장 동혁  (0) 2023.05.05
11005번 문제 : 진법변환2  (0) 2023.05.05
2563번 문제 : 색종이  (0) 2023.05.05
10798번 문제 : 세로읽기  (2) 2023.05.02
2566번 문제 : 최댓값  (0) 2023.05.02