https://programmers.co.kr/learn/courses/30/lessons/12973
https://messycode.tistory.com/63
//2. 효율성 통과 코드 : Stack 이용
function solution(s) {
var answer = 0;
var stack = [];
for(let i = 0 ; i < s.length ; i++ ){
if( (stack.length===0) || (stack[stack.length-1] !== s[i])) {
stack.push(s[i]);
} else {
stack.pop();
}
}
if(stack.length === 0){
answer = 1;
} else {
answer = 0;
}
return answer;
}
//1. Me : 시간 초과, 효율성 테스트 실패: Array 이용 -> 문자열이 매우 긴 경우!!
function solution(s){
var answer = 0;
var count =0;
//배열로 변환
var arrS = s.split('');
//탐색하다 같은 게 나오면 제거
for(var i=0; i<arrS.length; i++){
if(count === arrS.length+1){ // result가 0인 경우 무한반복 방지
break;
}
// while((arrS.length===0) || (arrS.length===1)){
for(var j=1; j<arrS.length; j++){
if(arrS[j-1]===arrS[j]){
arrS.splice(j-1, 2);
break;
}
}
count=count+1;
i=0;
}
if(arrS.length === 0){
answer = 1;
} else {
answer = 0;
}
return answer;
}
#Stack