728x90
https://www.acmicpc.net/problem/11816
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int main() {
string s;
cin >> s;
if (s[0] >= '1' && s[0] <= '9') {
cout << s;
}
else if (s[1] == 'x') {
s.erase(0, 2);
int total = 0;
for (int i = s.size() - 1; i >= 0; i--) {
if(s[i] <= '9')
total += ((s[i] - '0') * pow(16, s.size() - 1 - i));
else
total += ((s[i] - 'a' + 10) * pow(16, s.size() - 1 - i));
}
cout << total;
}
else {
s.erase(0, 1);
int total = 0;
for (int i = s.size() - 1; i >= 0; i--) {
total += ((s[i] - '0') * pow(8, s.size() - 1 - i));
}
cout << total;
}
return 0;
}
728x90
'알고리즘 문제' 카테고리의 다른 글
[백준] 5543번 상근날드 (0) | 2020.03.07 |
---|---|
[백준] 2206번 벽 부수고 이동하기 (0) | 2020.03.03 |
[백준] 2752번 세수정렬 (0) | 2020.03.03 |
[백준] 3896번 소수 사이 수열 (0) | 2020.03.03 |
[백준] 9020번 골드바흐의 추측 (0) | 2020.03.03 |