티스토리 뷰
'(' 일때는 카운트를 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("()())(()"))
'문제 풀이 > Programmers' 카테고리의 다른 글
[python3][level 2] 콜라즈 추측 (0) | 2018.04.13 |
---|---|
[python3][level 2] JadenCase문자열 만들기 (0) | 2018.04.12 |
[python3][level 2] 자연수를 뒤집어 리스트로 만들기 (0) | 2018.04.12 |
[python3][level 2] 두 정수 사이의 합 (0) | 2018.04.12 |
[python3][level 1] 행렬의 덧셈 (0) | 2018.04.12 |
댓글