230322 TIL - 프로그래머스 12909

thumbzzero·2023년 3월 22일
0

TIL

목록 보기
14/21

12909

'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.

-> 스택을 사용한다.

JavaScript

function solution(s){
    let stack = [];

    if (s[0] == ')' || s[-1] == '(') {
        return false;
    }
    
    for (let i = 0; i < s.length; i++) {
        if (s[i] == '(') {
            stack.push(s[i]);
        } else {
            stack.pop();
        }
    }
    if (stack.length == 0)
        return true

    return false;
}

Python

def solution(s):
    stack = 0
    
    if (s[0] == ')' or s[-1] == '('):
        return False
    
    for i in range(len(s)):
        if (s[i] == '('):
            stack += 1
        else:
            stack -= 1
            if (stack < 0):
                return False
            
    if (stack == 0):
        return True

    return False

0개의 댓글