2/27 TIL

정민세·2023년 2월 26일
0

오늘 푼 문제

올바른 괄호 Lv.2

function solution(s){
    let stack = 0;
    for(let i = 0; i < s.length; i++){
        stack += s[i] === '(' ? 1 : -1
        if (stack < 0) return false;
        } 
    return stack === 0 ? true : false
}
  • s라는 파라미터는 string 타입의 값이 들어오는데 괄호가 ()(), (()) 이라면 올바른 괄호, )()(, (()( 이라면 올바르지 않은 괄호로 true와 false로 반환한다. 우선 stack과 연관지어 생각하여 stack이라는 변수를 0으로 설정했다. 그리고 for문을 사용하여 파라미터의 i번째들을 '('와 비교하여 참이면 +1 거짓이면 -1을 하는 식으로 계산했고 stack이 0보다 작아지는 값이 생길 때는 바로 false를 리턴해주도록 설정하여 문제를 풀었다.
profile
하잇

0개의 댓글