알고리즘 - 짝지어 제거하기

HoJeong Im·2021년 9월 30일
0

Break_Algo

목록 보기
29/46

문제

코드

     let before = s;
     let data = s.replace(/([a-z])\1/g,"");
     while(before!==data){
         before = data;
         data = data.replace(/([a-z])\1/g,"");
     }
     answer = data.length!==0 ? 0: 1;
function solution(s)
{
    var answer = -1;

    let arr = s.split("");
    let stack = [];
    arr.forEach((v,idx)=>{
        
        if(stack.length === 0){
            stack.push(v);
        }
        else {
            if(stack[stack.length-1] === v){
                stack.pop();
            }
            else {
                stack.push(v);
            }
        }
        
    });
    
    answer = stack.length === 0 ? 1 : 0;
    
    return answer;
}

회고

  • 위 코드 : 정규표현식을 이용한 방법 => 역시 시간 초과

  • 아래 코드 : 스택을 이용한 방식, 다르면 추가, 같으면 pop

  • 음... 쉬운 문제를 너무 어렵게 고민해서 푼 듯

profile
꾸준함이 제일 빠른 길이었다

0개의 댓글