엑셀표에 열이름을 10진수로 계산하라.
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
Input: columnTitle = "ZY"
Output: 701
결국 26개의 서로다른 문자로 수를 표현하는것과같다. (26진수)
따라서 "ABC"의 경우 공식은 아래와 같다. 그리고 A~Z 문자는 1~26으로 바꿔서 계산하면 된다.
(A * 26^2) + (B * 26^1) + (C * 26^0)
int titleToNumber(char * columnTitle){
long ret = 0;
int csize = strlen(columnTitle);
long mul = 1;
for (int i = csize - 1; i >= 0; i--) {
ret += (columnTitle[i] - 'A' + 1) * mul;
mul *= 26;
}
return (int)ret;
}