import java.util.*;
class Solution {
public int solution(String s) {
int answer = Integer.MAX_VALUE;
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= s.length(); i++) {
sb.setLength(0);
List<String> list = new ArrayList<>();
for (int j = 0; j < s.length(); j += i) {
if (j + i > s.length()) list.add(s.substring(j, s.length()));
else list.add(s.substring(j, j + i));
}
String last = "";
int count = 0;
for (String value : list) {
if (last.equals(value)) {
count++;
} else {
if (count > 1) sb.append(count);
sb.append(last);
count = 1;
last = value;
}
}
if (count > 1) sb.append(count);
sb.append(last);
int length = sb.toString().length();
if (answer > length) answer = length;
}
return answer;
}
}
StringBuilder를 초기화하는 데 setLength(0)를 쓸 수 있다는 것을 새로 알게 되었다.
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바] 신규 아이디 추천 (1) | 2023.11.27 |
---|---|
[프로그래머스/자바] 문자열 내 p와 y의 개수 (0) | 2023.11.27 |
[프로그래머스/자바] 이상한 문자 만들기 (1) | 2023.11.27 |
[프로그래머스/자바] 시저 암호 (0) | 2023.11.23 |
[프로그래머스/자바] 거리두기 확인하기 (0) | 2023.11.12 |