[Java] 백준 2745번 진법 변환

2022. 4. 16. 23:32
728x90

https://www.acmicpc.net/problem/2745

 

2745번: 진법 변환

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

www.acmicpc.net

이번 문제는 쉽게 진수 풀이법으로 풀었습니다.

 

package BJ;

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

public class BJ_진법변환 {
	static String n;
	static int b;
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		n = st.nextToken();
		b = Integer.parseInt(st.nextToken());
		
		int ans = 0;
		for (int i = 0; i < n.length(); i++) {
			char c = n.charAt(i);
			if('A' <= c && c <= 'Z') {
				ans = ans * b + ((c - 'A') + 10);
			} else {
				ans = ans * b + (c - '0');
			}
		}
		System.out.println(ans);
	}	

}

 

Ysik Github : https://github.com/Y1sik/Algorithm/blob/main/BJ/BJ_%EC%A7%84%EB%B2%95%EB%B3%80%ED%99%98.java

반응형

'알고리즘' 카테고리의 다른 글

[Java] 백준 1159번 농구 경기  (0) 2022.04.18
[Java] 백준 3190번 뱀  (0) 2022.04.17
[Java] 백준 1357번 뒤집힌 덧셈  (0) 2022.04.15
[Java] 백준 14503번 로봇 청소기  (0) 2022.04.14
[Java] 백준 1966번 프린터 큐  (0) 2022.04.13

BELATED ARTICLES

more