Level 2. ペアリング削除


01.ペアリングの除去


エンコーディングテスト練習>2017 Tip Stown>ペアリングの削除
https://programmers.co.kr/learn/courses/30/lessons/12973

問題の説明


Input value =
  • s=小文字からなる文字列
  • Process =

  • 同じ文字のペアを2つ検索して削除

  • 前後に文字列が連なっている.

  • 1~2を繰り返して文字列を削除(リフレッシュ)
  • Output value =

  • s=""の場合は1

  • それ以外の場合は0
  • せいげんじょうけん


  • 文字列の長さ:100,000未満の自然数

  • 文字列はすべて小文字です.
  • 問題の構想

    #00
    s = 'baabaa'
    answer = []
    #01
    for i in s:
        if answer == [] or answer[-1]!=i:
            answer.append(i)
        else:
            answer.pop()
    if answer == []:
        print(1)
    else:
        print(0)

    問題を解く

    def solution(s):
       answer = []
       for i in s:
           if answer == [] or answer[-1]!=i:
               answer.append(i)
           else:
               answer.pop()
       if answer == []:
           return 1
       return 0
    
    # Code test
    s = 'baabaaa'
    solution(s)

    の最後の部分


  • 空のリストを作成し、値を1つずつフィルタして計算します.

  • 文字列を使用しない理由は、プロシージャを実行し、実行した値(pop()を削除するためです.