문제
https://school.programmers.co.kr/learn/courses/30/lessons/12909
자바스트립트
function solution(s){
let answer = 0;
for (const bracket of s) {
if (bracket === "(") {
answer += 1
} else {
answer -= 1
}
// 닫는 문자가 더 많을 경우 false 반환
if (answer < 0) return false
}
// 모든 문자를 확인 후 괄호의 짝이 맞는지 확인
if (answer === 0) return true
return false;
}
파이썬
- ')'가 '('보다 많을 수 없다는 것이 핵심이다.
def solution(s):
arr = list(s)
# 개수 확인
cnt1, cnt2 = 0, 0
for i in arr:
if i == '(':
cnt1 += 1
else:
cnt2 += 1
# ')'가 '('보다 많을 수 없다.
if cnt2 > cnt1:
return False
if cnt1 == cnt2:
return True
else:
return False
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 피보나치 수 (0) | 2022.10.24 |
---|---|
[프로그래머스] 숫자의 표현 (0) | 2022.10.23 |
[프로그래머스] 이진 변환 반복하기 (0) | 2022.10.21 |
[프로그래머스] 최솟값 만들기 (0) | 2022.10.15 |
[프로그래머스] JadenCase 문자열 만들기 (0) | 2022.10.14 |