/*
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
*/
#include <iostream>
#include <vector>
using namespace std;
string convertToTitle(int n) {
char character[27] = {'Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int temp = n;
int remainder;
vector<char> mark;
while(temp > 26){
remainder = temp % 26;
temp = temp / 26;
if(remainder == 0){
temp--;
}
mark.push_back(character[remainder]);
}
mark.push_back(character[temp]);
int size = mark.size();
char result_char[size];
for(int i = 0; i < size; i++){
result_char[i] = mark[size - i - 1];
}
string result_str(result_char, size);
return result_str;
}