문제
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 ...
Example 1:
Input: 1 Output: "A"
Example 2:
Input: 28 Output: "AB"
Example 3:
Input: 701 Output: "ZY"
입력 받은 숫자를 알파벳의 나열로 변환하는 문제이다.
풀이만 보면 간단해 보이지만, 생각을 많이 했던 문제이다.
펜으로 끄적거려본 결과,
를 반복하면 정답의 역순이 되는 문자열을 구할 수 있다.
전체적인 소스코드는 아래와 같다.
class Solution {
public:
string convertToTitle(int n) {
n--;
string res;
while (n >= 0) {
res += (n % 26 + 'A');
n -= (n % 26);
n /= 26;
n--;
}
reverse(res.begin(), res.end());
return res;
}
};
피곤하면 머리가 잘 안돌아가는 것 같다. 어제 과음을 해서 그런가
쉬자!
라고 써 넣고 진짜 피곤해서 그런지 저장을 안하고 페이지를 꺼버려서 이 글을 다시 썼다...
진짜 피곤하긴 한가보다.
쉬자!