728x90
반응형
📌코드를 풀면서 주의해야 할 점
☀️기준이 되는 값은 하나다
☀️기준과 다른 수는 각각 문자별로 개수를 세는게 아니라 다른 수 하나로 지정하여 카운트한다.
☀️예를들어 기준이 a이고 bcde가 있으면 a=1, bcde=4로 카운트하여 비교하는 것
import java.util.*;
class Solution {
public int solution(String s) {
int len = s.length();
int answer=0;
int otherCnt=0;
Map<String, Integer> map = new HashMap<String, Integer>();
for(int i=0; i<len;i++) {
String x = s.charAt(0)+"";
if(i==0 || x.equals(s.charAt(i)+"")) {
map.put(x, map.getOrDefault(x, 0)+1);
continue;
}
else otherCnt++;
//2. 다른 글자가 나오면 똑같이 put하고 x와 비교
if(map.get(x) == otherCnt){
s= s.substring(i+1);
len = s.length();
answer++;
i=-1;
map = new HashMap<String, Integer>();
otherCnt =0;
}
//인덱스의 마지막까지 가서도 횟수가 모두 다르고 더 이상 읽을 글자가 없다면 분리하고 종료
}
if(!map.isEmpty()) answer++;
return answer;
}
}
728x90
반응형
'문제 풀이 > Programmers' 카테고리의 다른 글
133027. 주문량이 주문량이 많은 아이스크림들 조회하기 (149) | 2023.08.13 |
---|---|
[자바]120875. 프로그래머스 평행 코드 첨부 (5) | 2023.08.12 |
[자바]120956 프로그래머스 옹알이 문제 코드 첨부 (1) | 2023.08.12 |
프로그래머스42889. 실패율 자바 (0) | 2023.08.09 |
120875. 평행 (자바) 문제에 함정이 있습니다 꼭 읽어보세요! (0) | 2023.08.06 |