문제 링크 : 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
복습 완