171. Excel Sheet Column Number

Doyeon Kim·2022년 6월 4일

코딩테스트 공부

목록 보기
75/171

문제 링크 : https://leetcode.com/problems/excel-sheet-column-number/


A-Z까지 1-26으로 해놓고(?) AA부터는 27부터해서 반환하는..? 문제이다.

A를 기준으로 파이썬의 ord()함수를 이용하여 반환하는 방법이 있다.

class Solution:
    def titleToNumber(self, columnTitle: str) -> int:
        
        ans = 0
        
        for i in columnTitle:
            ans = ans*26 + ord(i)-ord('A')+1
        return ans

ex. ord('A')는 65이고 ord('B') = 66이다.
만약 columnTitle이 b라면 B=2를 반환하기 위해서는 ord('B=입력된 columnTitle값')-ord('A')+1 = 66-65+1=2 을 해주면 된다.

그리고 columnTitle이 Z를 넘어가는 경우 26진법이라고 생각하면 쉽다.
예를 들어 AA의 경우 A*26+A이므로
columnTitle값을 탐색하며 ans값에 저장해주고 26을 곱해주면 된다

이해하면 어렵지는 않은 문제였다

Runtime: 55 ms, faster than 26.39% of Python3 online submissions for Excel Sheet Column Number.
Memory Usage: 13.8 MB, less than 55.66% of Python3 online submissions for Excel Sheet Column Number.


2022.08.3
복습 완

profile
성장하고 도전하는 개발자. 프로그래밍 좋아하세요?

0개의 댓글