csct3434
[level 2] 문자열 압축 - 60057 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.LinkedList;
class Solution {
public int solution(String s) {
int answer = s.length();
for (int len = 1; len <= s.length() / 2; len++) {
LinkedList<String> tokens = new LinkedList<>();
for (int i = 0; i < s.length(); i += len) {
tokens.add(s.substring(i, Math.min(i + len, s.length())));
}
int idx = 0;
StringBuilder result = new StringBuilder();
while (idx < tokens.size()) {
String token = tokens.get(idx++);
int count = 1;
while (idx < tokens.size() && token.equals(tokens.get(idx))) {
count++;
idx++;
}
if (count > 1) {
result.append(count);
}
result.append(token);
}
answer = Math.min(answer, result.length());
}
return answer;
}
}
'프로그래머스' 카테고리의 다른 글
[level 2] 튜플 - 64065 (0) | 2024.02.29 |
---|---|
[level 2] 괄호 변환 - 60058 (0) | 2024.02.29 |
[level 2] 방문 길이 - 49994 (1) | 2024.02.29 |
[level 2] 스킬트리 - 49993 (0) | 2024.02.29 |
[level 2] 타겟 넘버 - 43165 (0) | 2024.02.29 |