Leetcode#38. 숫자를 보고하다

문제 해결 방법:
  • 귀속 실현, 1개 1, 2개 1, 문자열 추가
  • class Solution {
    public:
        string countAndSay(int n) {
            if (n <= 0)
                return "";
            string res = "1";
            while(--n)
            {
                string cur = "";
                for(int i = 0; i < res.size(); ++i)
                {
                    int cnt = 1;
                    while(i + 1 < res.size() && res[i] == res[i + 1])
                    {
                        ++cnt;
                        ++i;
                    }
                    cur += to_string(cnt) + res[i];
                }
                res = cur;
            }
            return res;
        }
    };

    좋은 웹페이지 즐겨찾기