728x90
https://school.programmers.co.kr/learn/courses/30/lessons/140108
728x90
메모리: 77.2 MB, 시간: 8.21 ms
사용 알고리즘: 문자열
class Solution {
public int solution(String s) {
int answer = 0;
int cnt1 = 0, cnt2 = 0;
char x = 'A';
for(int i = 0; i < s.length(); i++) {
if(cnt1 == 0) { // 첫 글자 읽기
x = s.charAt(i);
cnt1 = 1;
answer++; // 첫 글자를 읽을 때 분리된 문자열 개수 세주기
}
else {
if(x != s.charAt(i)) { // 첫 글자와 다른 글자라면
cnt2++;
if(cnt1 == cnt2) { // 두 횟수가 같아지는 순간
cnt1 = 0;
cnt2 = 0;
}
}
else cnt1++; // 첫 글자와 같은 글자라면
}
}
return answer;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 17680] [1차] 캐시 (java) (0) | 2025.01.07 |
---|---|
[프로그래머스, 147355] 크기가 작은 부분문자열 (java) (0) | 2025.01.07 |
[프로그래머스, 181847] 0 떼기 (java) (0) | 2025.01.03 |
[프로그래머스, 161990] 바탕화면 정리 (java) (2) | 2024.12.23 |
[프로그래머스, 172928] 공원 산책 (java) (0) | 2024.12.23 |