
문제링크: 릿코드 171번
: Given a string columnTitle that represents the column title as appear in an Excel sheet, return its corresponding column number.
for example:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
Example 1:
Input: columnTitle = "A"
Output: 1
Example 2:
Input: columnTitle = "AB"
Output: 28
Example 3:
Input: columnTitle = "ZY"
Output: 701
const titleToNumber = function (s) {
let answer = 0;
// 알파벳 배열
let arr = "abcdefghijklmnopqrstuvwxyz".toUpperCase().split("");
for (let i = 0; i < s.length; i++) {
answer += (arr.indexOf(s[i]) + 1) * Math.pow(26, s.length - i - 1);
}
return answer;
};
엑셀 시트를 생각해보면 이런식으로 돌아가는데

이걸 Math.pow()를 이용해서 구현해준다 👉 Math.pow(base, exponent): base^exponent을 반환
예를들어 AB라면
: 자리값(26)을 곱해서 반환해야 함
A ➡️ 1 (26^1) ➡️ answer = 26
: 인덱스값만 반환해 더하면 됨
B ➡️ 2 (26^0) ➡️ answer = 28
예를들어 ZY라면
Z ➡️ 26 (26^1) ➡️ answer = 676
Y ➡️ 25 (26^0) ➡️ answer = 701
예를들어 AAA라면
A ➡️ 1 (26^2) ➡️ answer = 676
A ➡️ 1 (26^1) ➡️ answer = 702
A ➡️ 1 * (26^0) ➡️ answer = 703
이렇게 결과가 나온다!