프로그래머스에서 문자열 압축 문제를 풀었습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/60057
문제에 대한 설명은 위의 링크에서 확인하시면 됩니다.
문자열에서 같은 문자가 연속해서 반복되는 경우 압축하는 것이 이 문제의 목표입니다.
문자열을 자르는 단위가 문자열 절반을 넘어가면 반복되는지 확인할 수 없기 때문에 루프 범위를 절반으로 설정합니다.(20 ~ 49라인)
문자열 단위만큼 연속 반복되는지 조회합니다.(26 ~ 46라인)
문자열이 반복되는 경우 압축 횟수를 증가합니다.(29 ~ 31라인)
문자열이 반복되지 않은 경우 기존 문자열 압축하고 비교 문자열을 교체하고 압축 횟수를 1로 초기화합니다.(31 ~ 36라인)
인덱스를 증가하는데 문자열 단위만큼 증가해야 반복되는지 확인할 수 있습니다.(38라인)
다음 문자열 단위가 문자열 단위보다 작거나 없는 경우 기존 문자열을 압축하고 남는 문자열을 추가합니다.(40 ~ 45라인)
문자열 압축 함수는 압축 횟수가 1보다 큰 경우 압축 횟수를 추가합니다.(54 ~ 62라인)