Baekjoon 9012.py[かっこ]
もし問題があったら?
「問題の条件が確認されていないので、最初の方法で解決しました.」("和")の個数をYESと表記し,
「(」が表示されると、結果リストに「」()が追加され、「」が表示されるとpop()が追加されます.
結果リストappend()とpop(),+-1をしないともっときれいな答えが出ます.
最初のコメント(エラー)
t = int(input())
arr = [list(input()) for _ in range(t)]
result = [0] * t
for i in range(t):
leftParenthesis, rightParenthesis = 0, 0
while arr[i]:
word = arr[i].pop()
if word == '(':
leftParenthesis += 1
else:
rightParenthesis += 1
if leftParenthesis == rightParenthesis:
result[i] = 'YES'
else:
result[i] = 'NO'
print(result)
第二の解釈
from collections import deque
t = int(input())
arr = [deque(input()) for _ in range(t)]
for i in range(t):
result = []
for j in range(len(arr[i])):
word = arr[i].popleft()
if word == '(':
result.append('(')
else:
if len(result) == 0 or (j == 0 and word == ')'):
result.append(True)
break
result.pop()
if len(result) == 0:
print('YES')
else:
print('NO')
ふくガス
「問題の条件が確認されていないので、最初の方法で解決しました.」("和")の個数をYESと表記し,
)(
の反例を確認し,スタック方式で変換した.「(」が表示されると、結果リストに「」()が追加され、「」が表示されるとpop()が追加されます.
if len(result) == 0 or (j == 0 and word == ')'):
の場合、空のリストからポップアップされます().これは不可能なので、例外処理を行い、すぐに中断して重複文から逃れます.もう一つの謎を見て
結果リストappend()とpop(),+-1をしないともっときれいな答えが出ます.
Reference
この問題について(Baekjoon 9012.py[かっこ]), 我々は、より多くの情報をここで見つけました https://velog.io/@hohooodo/Baekjoon-9012.py-괄호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol