https://school.programmers.co.kr/learn/courses/30/lessons/140108
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
저는 구현을 통해 문제를 해결하였습니다.
각각의 문자에 대해 처음 글자와 비교해 같은지 다른지의 개수를 구하고 이 개수가 같을 때 결과값을 하나 올리고 초기화시켜주었습니다. 만약 문자열 마지막에 다르다면 그냥 끝나기 때문에 이때도 결과값을 늘리기 위한 코드도 작성하였습니다.
class Solution {
public int solution(String s) {
int answer = 0;
int size = s.length();
char front = s.charAt(0);
int same = 0;
int diff = 0;
for(int i = 0 ; i < size ; i++){
char ch = s.charAt(i);
if(front == ch){
same++;
}else{
diff++;
}
// System.out.println(ch+" "+same+" "+diff);
if(same == diff){
answer++;
same = 0;
diff = 0;
if(i+1 < size){
front = s.charAt(i+1);
}
}else if(i == size-1){
answer++;
}
}
return answer;
}
}
'알고리즘' 카테고리의 다른 글
백준 14567번 선수과목(JAVA) (0) | 2023.05.07 |
---|---|
프로그래머스 커피 심부름(JAVA) (0) | 2023.05.06 |
백준 20005번 보스몬스터 전리품 (JAVA) (0) | 2023.05.04 |
프로그래머스 코드 처리하기 (JAVA) (0) | 2023.05.03 |
프로그래머스 그림 확대 (JAVA) (0) | 2023.05.02 |