문제
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
}
'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글
프로그래머스, 자바스크립트) 두 개 뽑아서 더하기 (0) | 2024.11.19 |
---|---|
프로그래머스, 자바스크립트) JadenCase 문자열 만들기 (0) | 2024.11.17 |
프로그래머스, 자바스크립트) 최솟값 만들기 (0) | 2024.11.15 |
프로그래머스, 자바스크립트) 최댓값과 최솟값 (1) | 2024.11.14 |
프로그래머스, 자바스크립트) 숫자의 표현 (3) | 2024.11.13 |