https://www.acmicpc.net/problem/2745
코드 :
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int sum = 0;
String N = st.nextToken();
int B = Integer.parseInt(st.nextToken());
// '0'~'9' : 48~57
// A : 10 , B : 11 ...
//'A' == 65 --> 알파벳의 숫자 값 = 알파벳 - 65 + 10
// -> 10보다 클 때 -55(- 65 + 10)
int powNum = 0;
for (int i = N.length()-1; i >= 0 ; i--) {
char num = N.charAt(i);
if(48<= num && num <= 57){
sum += (num -48) * Math.pow(B, powNum);
}
if(num >= 65){
sum += (num -55) * Math.pow(B, powNum); // -55 = -65+10
}
powNum++;
}
System.out.println(sum);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
백준 1463번 - 1로 만들기 (Java 8) (0) | 2022.03.21 |
---|---|
백준 11576번 - Base Conversion (Java 8) (0) | 2022.03.20 |
백준 17103번 - 골드바흐 파티션 (Java 8) (0) | 2022.03.19 |
백준 2089번 - -2진수 (Java 8) (0) | 2022.03.19 |
백준 11005번 - 진법 변환 2(Java 8) (0) | 2022.03.18 |
댓글