안녕하세요
프로그래머스 JS [문자열 나누기] 본문
문자열 나누기 문제 보기
문제 조건
- 첫 글자 b를 x라고 할 때
- 연속되는 x의 횟수 카운트
- x가 아닌 글자의 횟수 카운트
- 두 횟수가 같은 지점에서 분리
- 남은 부분이 없을 때까지 같은 과정 반복하고 종료
- 횟수 다른 상태로 읽을 긁자 없으면 분리하고 종료
조건 따라 코드 작성
function solution(s) {
let answer = 0;
let [xCount, yCount] = [0, 0];
// 첫 글자 b를 x라고 할 때
let x = s[0];
for (let i = 0; i < s.length; i++) {
// 연속되는 x의 횟수 카운트, x가 아닌 글자의 횟수 카운트
x === s[i] ? xCount++ : yCount++;
// 두 횟수가 같은 지점에서 분리
if (xCount === yCount) {
answer++;
xCount = 0;
yCount = 0;
x = s[i + 1];
continue;
}
// 횟수 다른 상태로 읽을 긁자 없으면 분리하고 종료
if (i === s.length - 1) answer++;
}
// 분해한 문자열의 개수 반환
return answer;
}
'프로그래머스 > Lv.1' 카테고리의 다른 글
프로그래머스 JS [햄버거 만들기] (0) | 2023.02.02 |
---|---|
프로그래머스 JS [성격 유형 검사하기] (0) | 2023.02.02 |
프로그래머스 JS [옹알이2] (0) | 2023.01.30 |
프로그래머스 JS [숫자 짝꿍] (0) | 2023.01.29 |
프로그래머스 JS [명예의 전당(1)] (0) | 2023.01.29 |