Programmers 60057
문자열 압축


CODE ⌨️

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(string s)
{
    int answer = s.length();
    
    int len = s.length() / 2;
    
    for (int i = 1; i <= len; i++)
    {
        string prev = s.substr(0, i);
        
        int temp = 0;
        int cnt = 1;
        
        for (int j = i; j < s.length(); j += i)
        {
            string curr = s.substr(j, i);
            
            if (prev == curr) cnt++;
            else
            {
                if (cnt != 1)
                {
                    temp += to_string(cnt).length();
                    cnt = 1;
                }
                
                temp += prev.length();
                prev = curr;
            }
        }
        
        if (cnt != 1) temp += to_string(cnt).length();
        
        temp += prev.length();
        
        answer = min(answer, temp);
    }
    
    return answer;
}



RESULT 💛



SIMPLE DISCUSSION ✏️

문자열 관련 문제였다. 구현 문제는 반례를 확실히 고려해야 한다는 것을 다시 한 번 느끼게 되었다.



SOURCE 💎

Programmers_Link 👈 Click here


*****
NOT A TALENT ❎ NOT GIVING UP ✅
CopyRight ⓒ 2022 DCherish All Rights Reserved.