본문 바로가기
문제풀이/프로그래머스

올바른 괄호

by dev_kong 2021. 11. 26.
728x90
728x90

문제 설명

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

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

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

 

접근방법

count 에 0 할당하고

while로 count 0 이하로 떨어지면 바로 false 리턴 하게 설정해놓고

( 이거 들어오면 1 넣고

) 들어오면 -1 넣고

마지막 값이 0이 면 true 리턴

0아니면 false 리턴

 

function solution(blank) {
  let count = 0;
  let i = 0;
  while (count >= 0 && i < blank.length) {
    count += blank[i] === '(' ? 1 : -1;
    i++;
  }
  return (count === 0 ? true : false);
}

 

즈엉답!

근데 이게 뭐

stack 을 이용 해야된다 뭐 하던데..

굳이..?

라는 생각이 드는 문제였음 

그래서 stack 아니면 힘들거 같다는 문제 하나 더 풀었음

728x90
728x90

'문제풀이 > 프로그래머스' 카테고리의 다른 글

기능개발  (0) 2021.11.27
대중소괄호 짝 맞추기  (0) 2021.11.26
문자열 다루기 기본  (0) 2021.11.24
자릿수 더하기  (0) 2021.11.24
이상한 문자열 만들기  (0) 2021.11.23

댓글