Leetcode 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.

For example:

A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 …

Input: columnTitle = "A"
Output: 1
Input: columnTitle = "ZY"
Output: 701
Input: columnTitle = "FXSHRXW"
Output: 2147483647
  • Soruda bize verilen excelde kullanılan harflerin sayısal karşılıklarını bulmamız isteniyor.
  • ZA verildiğini düşünelim.
  • İlk olarak Z nin sayısal karşılığını bulmamız lazım bunu ord(Z) - ord(A) + 1 şeklinde bulabiliriz.
  • Daha sonra basamağına göre çarpılarak toplam elde edilir.
    def titleToNumber(self, columnTitle: str) -> int:
        total = 0
        
        for ch in columnTitle: #ZY verilen harfler olsun.
            current = ord(ch) - 65 + 1   #Z nin sayısal karşılığı bulunur. Z=26    
            total = total * 26 + current # Burada da basamağına göre Z karşılığı çarpılarak eklenir.
        
        return total