https://school.programmers.co.kr/learn/courses/30/lessons/140108?language=javascript#
function solution(s) {
let stack = [];
let answer = 0;
for(let i = 0; i < s.length; i ++){
stack.push(s[i]);
const same = stack.filter((item) => item === stack[0]);
const notsame = stack.filter((item) => item !== stack[0]);
if(same.length === notsame.length){
answer += 1;
stack = [];
}
}
if(stack.length !== 0) {
answer +=1;
}
return answer;
}
function solution(s) {
let isX = [s[0],0]
let isNotX = ''
const result = []
for(let i = 0 ; i < s.length ; i ++) {
// X 가 이번 글자인지 처리
if(isX[0] === s[i]) isX[1]++
else isNotX+=s[i]
// X와 X가 아닌 글자들의 수가 같다면
if(isX[1] === isNotX.length) {
// 정답 배열에 추가 및 초기화
result.push(isX[0]+isNotX)
isX = [s[i+1],0]
isNotX = ''
}
}
// X가 남았다면 정답 배열에 추가
if(isX[0]) result.push(isX[0])
return result.length
}