-코드
from sys import stdin
for _ in range(int(input())):
c = stdin.readline()
r = 0
for i in range(len(c)):
if c[i] == '(':
r += 1
elif c[i] == ')':
r -= 1
if r < 0:
print("NO")
break
if r == 0:
print("YES")
if r > 0:
print("NO")
처음에 count를 이용해서 '('의 개수와 ')'의 개수가 같을 경우 YES를 출력하게 했으나 2번째 입출력의 경우가 틀려서 문자열을 하나하나 검사하자 해서 for문을 사용하는 것을 생각했고 이 경우도 count랑 비슷해서 새로운 if문을 추가해야 할 필요가 있는 것 같아서 같은 문자가 반복되어 2번이 될 경우 추가적으로 조작될 것이 필요할 것 같아 2번 반복이 될 경우 수를 변경해주는 것으로 했었으나 며칠 고민을 해보고 안돼서 찾아보니 쉽게 풀려서 아쉬웠습니다..
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[프로그래머스/파이썬] 폰켓몬 (0) | 2021.05.08 |
---|---|
[백준/파이썬]1924번 2007년 (0) | 2021.05.08 |
[백준/파이썬]10866번 덱 (0) | 2021.05.06 |
[백준/파이썬]2902번 KMP는 왜 KMP일까? (0) | 2021.05.06 |
[백준/파이썬]2743번 단어 길이 재기 (0) | 2021.05.06 |