LEVEL2_프로그래머스_올바른 괄호

Written on July 15, 2019

문제

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

  • ()() 또는 (())() 는 올바른 괄호입니다.
  • )()( 또는 (()( 는 올바르지 않은 괄호입니다.

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

풀이

function solution(s) {
  var answer = true;
  function split(s) {
    if (s.length % 2 === 1 || s.indexOf("()") === -1) {
      answer = false;
      return;
    }
    let splited = s.split("()");
    let joined = splited.join("");
    if (joined.length === 0) {
      return;
    }
    split(joined);
  }
  split(s);
  return answer;
}
이 문제는 테스트케이스는 모두 통과하였지만 효율성이 떨어진다는 결과를 받았다. 다시 생각해 봐야 할 문제 ㅠㅠ

문제바로가기

올바른 괄호

👩🏻‍💻 배우는 것을 즐기는 프론트엔드 개발자 입니다
부족한 블로그에 방문해 주셔서 감사합니다 🙇🏻‍♀️

in the process of becoming the best version of myself