[プログラマー/python]レベル2ペアリングの削除
6927 ワード
https://programmers.co.kr/learn/courses/30/lessons/12973#
アルゴリズム分類
問題を解く
解けましたが、コードに示すように複雑です.ほほほ
基本論理はスタックベースでindexを調整し,問題の条件に従ってペアリング排除する論理である.
より単純なコードの論理も同じです.
結果の最後の終了値を文字列の値と比較します.
ソースコード
def solution(s):
stack=[]
stack.append(s[0])
index=1
while True:
if index==len(s):
break
if len(stack)==0:
stack.append(s[index])
index+=1
pick=stack.pop()
#print(index,pick)
if index==len(s):
stack.append(pick)
for i in range(index,len(s)):
if pick!=s[i]:
stack.append(pick)
stack.append(s[i])
index+=1
break
else:
index+=1
break
#print(stack)
if len(stack)==0:
return 1
return 0
より単純なコードdef solution(s):
result = []
for i in s:
if len(result)==0:
result.append(i)
else:
if result[-1]==i:
result.pop()
else:
result.append(i)
if len(result)==0:
return 1
return 0
Reference
この問題について([プログラマー/python]レベル2ペアリングの削除), 我々は、より多くの情報をここで見つけました https://velog.io/@bye9/프로그래머스파이썬-Level-2-짝지어-제거하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol