똥그래미 코딩공장
백준 9012(괄호) 파이썬 본문
https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
이번 괄호 문제는 개인적으로 좀 까다로운 문제였다.
이걸 어떻게 접근해야하지? 생각을 했다가 '(' 와 ')' 의 갯수를 세주면서 조건을 넘어가거나 충족하지 못하면 출력값에 맞게 출력해주어 문제를 해결하였다.
아래의 코드를 보면서 보충 설명을 하겠다
T=int(input())
for _ in range(T):
cnt=0
test=input()
test2=list(test)
for i in range(len(test2)):
if test2[i] == "(":
cnt=cnt+1
else:
cnt=cnt-1
if cnt<0: // ')'가 많아지는 순간 VPS조건을 벗어나기 때문에 바로 "NO"를 출력해준다
print("NO")
break
if cnt == 0: // VPS조건 충족
print("YES")
elif cnt>0: // VPS조건 미충족 '('가 더 많은 경우
print("NO")
이중포문을 사용하여 풀었다. 정답을 맞긴했지만 이중포문을 사용하는게 맞는지 좀 찝찝하다.
오랜만에 시간이 좀 걸린 문제였다.
아직도 갈길이 멀다...
'Algorithm' 카테고리의 다른 글
| 백준 1049번(기타줄) 파이썬 (0) | 2022.12.22 |
|---|---|
| 백준 1475(방번호) 파이썬 (0) | 2022.12.21 |
| 백준 10250(ACM 호텔) 파이썬 (1) | 2022.12.21 |
| 백준 1003번(피보나치 함수) 파이썬 (0) | 2022.04.02 |
| 백준 2839 (설탕배달) 파이썬 (0) | 2022.04.02 |