๋ฐ์ํ
๋ฌธ์
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์ง๋ฒ์ผ๋ก ์ถ๋ ฅํ๋ค.
์๊ฐ ์ ํ | ๋ฉ๋ชจ๋ฆฌ ์ ํ | ์ ์ถ | ์ ๋ต | ๋งํ ์ฌ๋ | ์ ๋ต ๋น์จ |
---|---|---|---|---|---|
1 ์ด | 128 MB | 36718 | 18730 | 16000 | 50.834% |
https://www.acmicpc.net/problem/2745
ํ์ด
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ์ง๋ฒ๋ณํ {
public static void main(String[] args) throws IOException {
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
String[] split = br.readLine().split(" ");
String n = split[0];
long b = Long.parseLong(split[1]);
long result = 0;
for(int i=0; i<n.length(); i++){
double pow = Math.pow(b, n.length() - 1 - i);
long s;
if(n.charAt(i) < 65){
s = (long) ((n.charAt(i) - 48) * pow); //1~9์ธ๊ฒฝ์ฐ ASCII(`1`)=48์ ๋นผ์ค๋ค
}else {
//A~Z์ธ๊ฒฝ์ฐ ASCII('A')=65๋ฅผ ๋นผ์ฃผ๊ณ ,
//10=A ์ด๋ฏ๋ก 10์ ๋ํด์ค๋ค. ์ฆ 55๋ฅผ ๋นผ์ฃผ๊ฒ ๋๋ค..!
s = (long) ((n.charAt(i) - 55) * pow);
}
result += s;
}
System.out.println(result);
br.close();
}
}
๋ฐ์ํ