백준-Node.js-9012-괄호

송철진·2023년 2월 7일
0

백준-Node.js

목록 보기
9/71

풀이

const fs = require('fs')
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').slice(1)

const solution = (input) => {
  return input.map(s => {
    if (s[0]===')') return 'NO'
    let count = 0
    for(let i = 0; i < s.length; i++){
        s[i] === '(' ? count++ : count--
            if ( count < 0 ) return 'NO'
    }
    return count === 0 ? 'YES' : 'NO'
  }).join('\n')
}

주어진 문자열이 )로 시작하면 NO를 반환한다
주어진 문자열을 순회하여 (이면 count를 증가시키고 )이면 count를 감소시킨다
count가 0보다 작으면 NO를 반환한다
순회를 마쳤을 때 count가 0이면 YES를 반환하고 아니면 NO를 반환한다
각 문자열 요소를 갖는 배열inputmap()으로 새로운 배열을 만들고
그 결과값을 개행문자\n를 기준으로 join()해서 반환한다

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글