티스토리 뷰


'(' 일때는 카운트를 1 올리고 ')' 일때는 카운트를 1 내리면서

카운트가 음수값이면 반복문을 종료하고 False를 반환한다.

반복문이 종료했을때는 '('의 갯수와 ')'의 갯수가 같을때 True를 반환한다.

문제풀이

def is_pair(s):
    cnt = 0
    
    pair = [(i) for i in s if i in ('(',')')]
    for rpt in range(0, len(pair)):
        if pair[rpt] in '(':
            cnt += 1
        elif pair[rpt] in ')':
            cnt -= 1
        if cnt < 0:
            return False
    return pair.count('(') == pair.count(')')

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( is_pair("(hello)()"))
print( is_pair("()())(()"))


댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Total
Today
Yesterday