티스토리 뷰

반응형
package KAKAO;
public class CompressString {
public static void main(String[] args) {
String s = "abcabcabcabcdededededede";
System.out.println(solution(s));
}
public static int solution(String s) {
int answer =s.length();
for(int i=1; i<=answer/2; i++){
int pos =0;
int len = s.length();
for(; pos +i <= s.length();) {
String unit = s.substring(pos, pos + i);
pos += i;
int cnt = 0;
for (; pos + i <= s.length(); ) {
if (unit.equals(s.substring(pos, pos + i))) {
++cnt;
pos += i;
} else {
break;
}
}
if (cnt > 0) {
len -= i * cnt;
if (cnt < 9) len += 1;
else if (cnt < 99) len += 2;
else if (cnt < 999) len += 3;
else len += 4;
}
}
answer = Math.min(answer, len);
}
return answer;
}
}

반응형

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[파이썬] 실패율  (0) 2022.03.12
2018 카카오 캐시  (0) 2021.04.20
2018 카카오 비밀지도  (0) 2021.04.20
2019 카카오 후보키  (0) 2021.04.20
2021 카카오 광고 삽입  (0) 2021.04.20
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함