알고리즘 - 20220622

sanghun Lee·2022년 6월 22일
0

프로그래머스 - 짝지어 제거하기

프로그래머스 문제는 따로 깃헙에 기재를 하면 양이 너무 많아질 것 같아서 그냥 velog에라도 남겨보려 한다.

제출 한 뒤 다른 사람들의 풀이를 봐도 이 정도 문제에서 생각하는건 다 비슷한 것 같다.


/*
1. 앞에서 부터 문자열을 탐색해야함
    2개 붙어있는 짝을 찾으면 해당 짝만 제거 후 나머지 문자열은 다시 순서대로 붙임
2. 짝을 발견한 경우 해당 짝을 제거한 문자열로 업데이트
    1~2 반복
3. 반복 후 길이가 0이 되면 멈춤
    스택을 사용
        값이 같으면 스택에서 하나 뺌( + 스택에 값이 있는 경우)
        값이 다르면 스택에 넣음
        스택 길이를 통해 답 판별
*/

function solution(s)
{
    const stack = [];
    
    for(let i = 0; i < s.length; i++) {
        if(stack.length && stack[stack.length-1] === s[i]) {
            stack.pop();
        }else{
            stack.push(s[i]);
        }
    }
    
    return !stack.length ? 1 : 0;
}
profile
알고리즘 풀이를 담은 블로그입니다.

0개의 댓글