Leet Code - 168. Excel Sheet Column Title(C++)

포타토·2020년 2월 20일
0

알고리즘

목록 보기
54/76

예제: Excel Sheet Column Title

문제
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"

풀이

입력 받은 숫자를 알파벳의 나열로 변환하는 문제이다.
풀이만 보면 간단해 보이지만, 생각을 많이 했던 문제이다.

펜으로 끄적거려본 결과,

  1. n--
  2. n MOD 26의 알파벳 변환
  3. n - (n MOD 26)
  4. n / 26

를 반복하면 정답의 역순이 되는 문자열을 구할 수 있다.

전체적인 소스코드는 아래와 같다.

소스 코드

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;
	}
};

풀이 후기

피곤하면 머리가 잘 안돌아가는 것 같다. 어제 과음을 해서 그런가
쉬자!

라고 써 넣고 진짜 피곤해서 그런지 저장을 안하고 페이지를 꺼버려서 이 글을 다시 썼다...
진짜 피곤하긴 한가보다.
쉬자!

profile
개발자 성장일기

0개의 댓글