https://school.programmers.co.kr/learn/courses/30/lessons/140108
class Solution {
public int solution(String s) {
int answer = 0;
int index = 0;
int isX = 0;
int isNotX = 0;
List<String> strList = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for(int i=0; i<s.length(); i++){
sb.append(s.charAt(i));
char x = s.charAt(index);
if(x == s.charAt(i)){
isX++;
}else{
isNotX++;
}
if(isX == isNotX || i==s.length()-1){
strList.add(sb.toString());
sb.delete(0,sb.length());
index = i+1;
}
}
answer = strList.size();
return answer;
}
}
for문을 돌면서 변수 isX와 isNotX를 통해 문자열을 쪼개주고, 리스트에 추가한다. 처음에는 isX와 isNotX를 비교해 같으면 리스트에 추가하는 코드만 작성했으나, 더 이상 읽을 글자가 없을 경우 그때도 쪼갠 문자열을 리스트에 추가해줘야 하므로 관련된 코드를 추가해 주었다.
'개발일지' 카테고리의 다른 글
20231227 - 예외처리 (0) | 2023.12.27 |
---|---|
20231226 - 다대다 관계와 중간테이블 (0) | 2023.12.26 |
20231221 - cascade, orphanRemoval (1) | 2023.12.21 |
20231220 - 프로그래머스/131128 (0) | 2023.12.20 |
20231219 - 엔티티 연관관계(게시물, 유저, 댓글) (0) | 2023.12.19 |