sleepyotter
LeetCode/171. Excel Sheet Column Number 본문
10진법과 같다. 다만 자리수가 10의 제곱으로 증가하는 것이 아닌 26의 제곱으로 증가하는 것이다.
예시로, 32라는 숫자는 CB와 같다. 32는 10^1 * 3 + 10^0 * 2 로, CB는 26^1 * 3 + 26^0 * 2로 나타낼 수 있다.
마찬가지로 문제에서 주어진 예시인 ZY는 26^1 * 26 + 25 = 701로 맞아떨어짐을 볼 수 있다.
class Solution {
public:
int titleToNumber(string columnTitle) {
int ascValue = 0;
if(columnTitle.length() == 1)
{
return (int(columnTitle[0])-64);
}
if(columnTitle.length() > 1)
{
for(int i=columnTitle.length()-1; i >=0 ; --i)
{
ascValue += pow(26, columnTitle.length()-1-i)*(columnTitle[i]-'A'+1);
}
}
return ascValue;
}
};
'프로그래밍 > 알고리즘+코딩테스트' 카테고리의 다른 글
LeetCode/191. Number of 1 Bits (0) | 2022.02.19 |
---|---|
LeetCode/190. Reverse Bits (0) | 2022.02.19 |
LeetCode/2. Add Two Numbers (0) | 2022.02.16 |
LeetCode/617. Merge Two Binary Trees (0) | 2022.02.16 |
LeetCode/543. Diameter of Binary Tree (0) | 2022.02.16 |