728x90
반응형
https://www.acmicpc.net/problem/1550
16진수 수가 입력으로 들어오면 10진수로 변환해서 출력하는 문제이다.
16진수의 크기가 작아서 무식하게 구현했다.
16진수를 문자로 받은 다음에 0~F를 0~16으로 바꿔주고 각 수에 자리수만큼 16을 곱해주며 다 더해주면 답이다.
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <cstring>
using namespace std;
char str[7];
int len, ans, ret, cnt;
int main() {
scanf("%s", str);
len = strlen(str);
for(int i=len-1;i>=0;i--) {
if('0' <= str[i] && str[i] <= '9') {
ret = str[i] - '0';
}
else {
ret = 10 + str[i] - 'A';
}
for(int j=0;j<cnt;j++) {
ret *= 16;
}
cnt++;
ans += ret;
}
printf("%d", ans);
return 0;
}
728x90
반응형
'PS(Problem Solving) > 백준(BOJ)' 카테고리의 다른 글
[C/C++] 26495번 - Big Number (0) | 2024.03.31 |
---|---|
[1958번][C/C++] LCS 3 (0) | 2023.06.27 |
[2239번][C/C++] 스도쿠 (1) | 2023.02.02 |
[1038번][C/C++] 감소하는 수 (0) | 2023.02.01 |
[2342번][C/C++] Dance Dance Revolution (0) | 2023.01.31 |