Excel Sheet Column Number

Yohan Kim·2021년 9월 14일
0

problem

엑셀의 열을 숫자로 바꾸는 문제입니다.
https://leetcode.com/problems/excel-sheet-column-number

solution

class Solution {
public:
    int titleToNumber(string columnTitle) {
        int count = 0;
        for(int i=0;i<columnTitle.size();i++){
            count += alphaTransfer(columnTitle[i]) * pow(26,columnTitle.size()-1-i);
        }
        return count;
    }
    int alphaTransfer(char c){
        return (int)c -64;
    }
};

후기

생각보다 쉽게 수현할 수 있었고, 속도도 잘 나왔지만
pow를 쓴 점이 아쉽습니다.
문제를 보면서 26진법이라는 것은 감을 잡았는데,
ans * 26을 하는 것을 생각 못 했습니다.

즉 123이 들어왔을때,
1(10^2)+2(10^1)+3(10^0) 으로 계산을 하는 것 보다

1-> in -> 1

2-> in
1*10 + 2 ->12

3-> in
12*10 + 3 -> 123

전에 풀었던 문제처럼 값을 누적해나가면 메모리도 적게 쓸 수 있던 문제 였습니다.

profile
안녕하세요 반가워요!

0개의 댓글