Skip to content

ABC-307

A

URLURL\:\to

解法


B

URLURL\:\to

解法


C

URLURL\:\to https://atcoder.jp/contests/abc307/tasks/abc307_d

#文字列操作 #stack

N = Integer().content
S = Word().content
string = []
left = []
for i in range(N):
string.append(S[i])
if S[i]=='(': left.append(len(string)-1)
elif S[i]==')' and left:
q = left.pop()
for j in range(len(string)-q): string.pop()
print("".join(string))

解法

空の文字列に11文字ずつ格納していき、’)‘が出てきたら、直前の’(‘(あれば)まで格納した文字を削除、ないのならば文字列に格納する。 を繰り返すと題意を満たすことができる。 …のだが、ここで’(‘の位置を格納するstackを保持しておくと、’(‘があるのかないのかをO(1)O(1)で判断することができる。


D

URLURL\:\to

解法


E

URLURL\:\to

解法