[프로그래머스] 짝지어 제거하기 (파이썬, javascript)

728x90
반응형

o(n) 시간 안에 해결해야 되는 문제들을 잘 못 푸는데 이런 방법이 있다는 것을 알았다

여기저기 쓰일 것 같으니 잘 봐놔야지 

 

1. 파이썬 풀이 

 

def solution(s):
    answer = []
    for i in range(len(s)):
        if len(answer)==0:
            answer.append(s[i])
        elif answer[-1]==s[i]:
            answer.pop()
        else:
            answer.append(s[i])

    if len(answer):
        return 0
    else:
        return 1

2. javascript

 

function solution(s)
{
    var answer = 0;
    const stack=[];
    for(let i=0;i<s.length;i++){
        if(stack.length==0){
            stack.push(s[i]);
        }else{
            if(stack[stack.length-1]===s[i]){
                stack.pop();
            }else{
                stack.push(s[i]);
            }
        }
    }

    return stack.length===0?1:0;
}
728x90
반응형
TAGS.

Comments