문제
https://www.acmicpc.net/problem/15926
15926번: 현욱은 괄호왕이야!!
첫 번째 입출력에서, 맨 처음 위치부터 4개를 잘라낸 (())가 가장 긴 올바른 괄호 문자열이다. 두 번째 입출력에서, 6번째 위치부터 8개를 잘라낸 ()((()))가 가장 긴 올바른 괄호 문자열이다.
www.acmicpc.net
코드
n=int(input())
array=list(input())
dp=[0]*n
stack=[]
for i in range(len(array)):
if array[i]=="(":
stack.append(i)
else:
if stack:
if array[stack[-1]]=="(":
n=int(stack.pop())
dp[i] = dp[n] = 1
count=0
result=0
for i in dp:
if i==1:
count+=1
result=max(result,count)
else:
count=0
print(result)
'문제풀이 > 기타' 카테고리의 다른 글
[파이썬] [힙] 백준 2696 중앙값 구하기 (0) | 2022.03.10 |
---|---|
[파이썬] [백트래킹] 백준 15650 N과 M(2) (0) | 2022.03.09 |
[파이썬] [스택] 백준 2504 괄호의 값 (0) | 2022.03.04 |
[파이썬] [분할정복] 백준 1992 쿼드트리 (0) | 2022.02.23 |
[파이썬] [분할정복] 백준 2630 색종이 만들기 (0) | 2022.02.23 |