<p>Given an integer <code>columnNumber</code>, return <em>its corresponding column title as it appears in an Excel sheet</em>.</p>

<p>For example:</p>

<pre>
A -&gt; 1
B -&gt; 2
C -&gt; 3
...
Z -&gt; 26
AA -&gt; 27
AB -&gt; 28 
...
</pre>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<pre>
<strong>Input:</strong> columnNumber = 1
<strong>Output:</strong> &quot;A&quot;
</pre>

<p><strong class="example">Example 2:</strong></p>

<pre>
<strong>Input:</strong> columnNumber = 28
<strong>Output:</strong> &quot;AB&quot;
</pre>

<p><strong class="example">Example 3:</strong></p>

<pre>
<strong>Input:</strong> columnNumber = 701
<strong>Output:</strong> &quot;ZY&quot;
</pre>

<p>&nbsp;</p>
<p><strong>Constraints:</strong></p>

<ul>
	<li><code>1 &lt;= columnNumber &lt;= 2<sup>31</sup> - 1</code></li>
</ul>

class Solution:
    def convertToTitle(self, columnNumber: int) -> str:
        alphanumeric = {val:chr(a) for a,val in zip(range(65,91), range(1,27))}
        alphanumeric[0] = "Z"            

        if columnNumber < 27 :
            return alphanumeric[columnNumber]

        if columnNumber % 26 == 0:
            return self.convertToTitle((columnNumber//26)-1)+alphanumeric[(columnNumber%26)]
        
        return self.convertToTitle((columnNumber)//26) + self.convertToTitle(columnNumber%26)
        
16500