티스토리 뷰
'(' 일때는 카운트를 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 |
댓글