반응형
171. Excel Sheet Column Number
Given a string columnTitle that represents the column title as appear in an Excel sheet, return its corresponding column number.
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
계획
문제 해결 전략
컬럼타이틀을 숫자로 바꾸어주는 문제입니다.
구현 전략
해시맵에 알파벳과 숫자를 넣습니다. 각 자리수마다 나타낼수있는 수는 26이기때문에, pointer * 알파벳의 value값을 더해서 result에 모든 자리의 알파벳들을 더해줍니다. 포인터는 자릿수를 옮겨 갈때마다 26씩 곱해야합니다
즉 1의자리 는 1
10의 자리는 26
100의 자리는 26*26
해설
var titleToNumber = function(columnTitle) {
let pointer = 1
let reverse = [...columnTitle].reverse()
let result = 0
let map = new Map()
map.set("A",1)
map.set("B",2)
map.set("C",3)
map.set("D",4)
map.set("E",5)
map.set("F",6)
map.set("G",7)
map.set("H",8)
map.set("I",9)
map.set("J",10)
map.set("K",11)
map.set("L",12)
map.set("M",13)
map.set("N",14)
map.set("O",15)
map.set("P",16)
map.set("Q",17)
map.set("R",18)
map.set("S",19)
map.set("T",20)
map.set("U",21)
map.set("V",22)
map.set("W",23)
map.set("X",24)
map.set("Y",25)
map.set("Z",26)
console.log(reverse)
for(let i = 0; i < columnTitle.length; i++){
result = result+ map.get(reverse[i])*pointer
pointer = pointer*26
}
return result
};
반응형
'개발공부 > LeetCode' 카테고리의 다른 글
39. Combination Sum - 쉬운설명 반복문 사용 (0) | 2022.04.21 |
---|---|
[Javascript] 13. Roman to Integer 쉬운설명 - 해시맵 (0) | 2022.04.05 |
[JavaScript]45. Jump Game II (0) | 2022.03.31 |
[JavaScript] 991. Broken Calculator 쉬운 설명 (0) | 2022.03.24 |
[Javascript] 1663. Smallest String With A Given Numeric Value -쉬운 설명 (0) | 2022.03.22 |