[BOJ](python)494949均衡の世界
🧩質問する
🧩 問題の説明
1.「(」および「[」)が表示された場合括弧から始まり、 を積み重ねます.
2.「(」が現れる場合
「」が表示されるとカッコが完了するのでスタック内で「」(「pop 」)
「」(「」をポップアップする場合、スタックは空にできないため、len(stack)>0 」
「」以外の括弧が現れると、括弧が完了していないことを示すため、no出力 len(stack)=0はエラーを表すため、no出力(開始カッコで開始せず、終了カッコで開始) 3.「[」が現れる場合']が表示されるとカッコが完了するため、スタックに['pop ']が表示されます.[]をポップアップするには、スタックを空にすることはできません.したがってlen(stack)>024579182 ']以外の括弧が現れると括弧は完成しないのでno出力 . len(stack)=0はエラーを表すため、no出力(開始カッコで開始せず、終了カッコで開始) 4. '.'入力を終了単純です.出たからといってすぐに終わるわけではない.
単語またはスペースが1つもない場合、 が終了します.
🏁 説明する
yes,noは大文字で出力され、
2時間コードを開けました^^..
おかげさまで、こんなミスは二度とありません.🤒
🧩 問題の説明
1.「(」および「[」)が表示された場合
2.「(」が現れる場合
「
「
「
単語またはスペースが1つもない場合、
🏁 説明する
import sys
input = sys.stdin.readline
while True:
s = input().rstrip()
stack = []
flag = True
if s == ".": # 문장이 단순히 .이면 종료
break
for i in s:
if i == '(' or i == '[': # 열린 괄호가 나오면
stack.append(i) # 스택에 저장
elif i == ')': # 닫힌 괄호가 나오면
if stack and stack[-1] == '(': # 스택에 괄호가 있고, top이 ( 이라면 괄호가 완성되므로
stack.pop() # 스택에서 ( 제거
else: # 스택이 비었거나, top과 함께 괄호가 완성되지 않는다면
flag = False # No
break
elif i == ']':
if stack and stack[-1] == '[':
stack.pop()
else:
flag = False
break
if flag and not(stack): # flag가 True이고, 스택에 아무것도 없으면 (괄호들이 완성되어서 다 제거되었으면)
print('yes')
else: # 아닐 경우 (flag=False or len(stack) >0)
print('no')
yes,noは大文字で出力され、
2時間コードを開けました^^..
おかげさまで、こんなミスは二度とありません.🤒
Reference
この問題について([BOJ](python)494949均衡の世界), 我々は、より多くの情報をここで見つけました https://velog.io/@richeberry/BOJpython-균형잡힌-세상テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol