📌문제
B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오.
10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다.
A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35
입력
첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36)
B진법 수 N을 10진법으로 바꾸면, 항상 10억보다 작거나 같다.
출력
첫째 줄에 B진법 수 N을 10진법으로 출력한다.
예제 입력)
ZZZZZ 36
예제 출력)
60466175
📌답
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] n = br.readLine().split(" ");
String n1 = n[0];
int num = 0;
int d = Integer.parseInt(n[1]);
int d1 = 1;
for(int i =n1.length()-1; i>=0; i--) {
char n2 = n1.charAt(i);
if((int)n2>=65) num += ((int)n2 - 55)*d1;
else num += (int)(n2 -48) *d1;
d1 *= d;
}
System.out.println(num);
}
}
끝까지 읽어주셔서 감사합니다 :)
Have a good day🐱
📢
1. 개발자 준비생이 공부한 내용을 정리한 글입니다. 내용에 오류가 있을 수 있습니다.
2. 위와 같은 이유로 내용에 대한 지적과 조언은 감사하게 받습니다.
3. 이 글의 내용은 계속 공부함으로써 언제든지 추가/수정 될 수 있습니다.
'Coding Test > 백준 - JAVA' 카테고리의 다른 글
백준 티어(내 티어/문제 티어) 보는 법 (0) | 2024.12.23 |
---|---|
백준 11005번 진법 변환2 (JAVA) (0) | 2024.12.22 |
백준 2563번 색종이 (JAVA) (1) | 2024.12.20 |
백준 10798번 세로읽기 (JAVA) (2) | 2024.12.20 |
백준 2566번 최댓값 (JAVA) (0) | 2024.12.19 |