728x90
반응형
오만번쯤은 해봤을 진법 변환...
이지만 지금까지 나는 2, 8, 16진수만 변환해봤지만, 이 문제는 2~36진수까지 변환해야하는 문제였다. 그래도 어렵지는 않았던 문제!
이지만 한 가지 치명적인 실수를 한 나... 그 덕에 10분 정도 고민했다. 실수는 바로 10진수로 변환할 때 앞자리부터 계산했다는 것...
엉엉 하필이면 또 예제가...
ZZZZZ 36,
1111 2
같은 앞뒤가 똑같은 것들이라 왜 틀린지 몰랐었다... 바보...
for (int i = 0; i < input.size(); i++)
{
// 거꾸로 계산
// etc) 8 4 2 1
int index = input.size() - i - 1;
if (isalpha(input[index]))
{
// A = 10, B = 11...
result += (input[index] - 'A' + 10) * pow(offsetNum, i);
}
else
{
result += (input[index] - '0') * pow(offsetNum, i);
}
}
이렇게 간단하게 풀었다. 간단하게 보이는 문제라도 정신 똑디 잡고 문제를 풀어야겠다.
728x90
반응형
'알고리즘 문제풀이 > 수학' 카테고리의 다른 글
[백준][C++] 21275 폰 호석만 (0) | 2022.11.04 |
---|---|
[백준][C++] 2960 에라토스테네스의 체 (0) | 2022.11.04 |
[백준][C++] 9613 GCD 합 (0) | 2022.11.04 |
[백준][C++] 1934 최소공배수 (1) | 2022.11.04 |
[백준][C++] 1110 진법 변환 (0) | 2022.11.04 |