개발/알고리즘(코딩테스트)
프로그래머스, 자바스크립트) 올바른 괄호
빔네모
2024. 11. 18. 10:38
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
- 여는 괄호 '('를 만나면 카운터를 증가
- 닫는 괄호 ')'를 만나면 카운터를 감소.
- 카운터가 음수가 되는 순간, "("가 ")"보다 많다는 것으로 문자열이 잘못 짝지어진 것이다.
- 더이상 체크할 필요없이 false 처리
function solution(s) {
//카운트 체크
let count = 0
for (const char of s) {
char === '(' ? count++ : count--
// 카운터가 음수가 되는 순간, 잘못된 상태
if (count < 0) {
return false
}
}
//전체 스캔했는데 0이면 성공
return count === 0
}