반응형
링크
풀이
16진수를 받아서 10진수로 변환 후 출력하는 문제다.
처음에 string으로 입력받아서 뒷자리부터 16^0, 16^1, 16^2, 16^3...를 곱하면서 result에 더해주면 해결할 수 있다.
'0'~'9'까지는 s[i] - '0'으로 계산하고, 'A'~'F'까지는 s[i] - 'A' + 10으로 계산하면 된다.
코드
//1550_16진수
#include <iostream>
#include <string>
using namespace std;
string s;
int result, tmp = 1;
int main() {
cin >> s;
for (int i = s.length() - 1; i >= 0; i--) {
if (s[i] >= '0' && s[i] <= '9')
result += (s[i] - '0') * tmp;
else
result += (s[i] - 'A' + 10) * tmp;
tmp *= 16;
}
cout << result << endl;
return 0;
}
반응형
'PS > BOJ' 카테고리의 다른 글
[백준 BOJ] 2475 검증수 (0) | 2021.02.23 |
---|---|
[백준 BOJ][Python] 2338 긴자리 계산 (0) | 2021.02.23 |
[백준 BOJ][Python] 1271 엄청난 부자2 (0) | 2021.02.23 |
[백준 BOJ][DP] 2133 타일 채우기 (0) | 2021.02.18 |
[백준 BOJ] 14681 사분면 고르기 (0) | 2021.02.18 |