문제
프로그래머스 문제
내 풀이
function solution(s) {
let answer = 0;
let i = 0;
let y = 0;
let n = 0;
while(i <= s.length){
if(s[i] === s[0]) y++;
else n++;
if(y > 0 && y === n){
answer++;
s = s.slice(i+1);
i = -1;
y = 0;
n = 0;
}
i++;
}
if(s) answer++;
return answer;
}
개선점
function solution(str) {
const count = [1, 0];
let sel = str[0];
let res = 0;
for (let i=1; i<str.length; i++) {
sel === str[i] ? count[0]++ : count[1]++;
if (count[0] === count[1]) {
sel = str[++i];
res++;
[count[0], count[1]] = [1, 0];
}
}
return sel ? ++res : res;
}