[프로그래머스] 올바른 괄호

Mincho·2023년 1월 6일
0
post-thumbnail

🔴올바른 괄호

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어
◽ "()()" 또는 "(())()" 는 올바른 괄호입니다.
◽ ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.

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

❗제한 사항
◾ 문자열 s의 길이 : 100,000 이하의 자연수
◾ 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.

👉입출력 예

sanswer
"()()"true
"(())()"true
")()("false
"(()("false



😶나의 풀이

  우선적으로 괄호의 갯수가 알맞게 짝을 맞춰주는 거에 초점을 잡아야 했다. "("와 같은 문자열일때 +1 그 외 문자열은 -1 하여 최종적으로 0이되면 되는 것이다. "("문자열이 나오기도 전에 다른 문자열이 나오면 안되는 것 또한 체크해야한다.

function solution(s){
    var answer = true;
    let count = 0;
    for(i = 0 ; i < s.length ; i++){
        s[i] === "(" ? count++ : count --
        if(count < 0){break;}
    }
    count === 0 ? answer = true : answer = false
    return answer;
}



😎후기..

  구현과정에서 배열에 담을 생각을 해서 어려운 부분이 있었다. 다른 분들의 풀이를 보니 정규식을 사용한 풀이가 생각 보다 많았다. 정규식을 간단하게라도 공부할 필요가 있을거 같다..!

👍올바른 피드백은 언제든지 환영입니다~!

profile
사진찍는 개발자.

0개의 댓글