コーディングテスト(バックグラウンドダイナミックプログラミング(15881号:Pen Pineapple Pen)


質問する
りんごとパイナップルとペンがいくつも並んでいます.これらの順番を変えずに、隣のものをつなぎ合わせて、どれだけのペンを作ることができるかを数えてみましょう.パイナップル-りんご-ペンです.
しかし、ペン、パイナップル、リンゴ、ペンが順番につながっている4つのものだけがペン-パイナップル-リンゴ-ペンと認定され、1本のペンは2本のペン-パイナップル-リンゴ-ペンには含まれません.また、ペン、リンゴ、パイナップル、ペンの順番でつながっている4つのアイテムは、ペン-パイナップル-リンゴ-ペンではありません.
入力
最初の行は物の総数nを与える.(1 ≤ n ≤ 1,000,000)
2行目では、物体のリストに長さnの文字列が与えられる.りんごはAで、パイナップルはPで、ペンはPで大文字と小文字を区別します.
しゅつりょく
作成できるペン-パイナップル-リンゴ-ペンの最大数を出力します.
コピー例入力1
15
ApPApPpAPpApPAp
コピー例出力1
2
コピー例入力2
7
pPApPAp
コピーサンプル出力2
1
私の答え:
n = int(input())
ppap_list = list(input())

d = [0] * 100

d[0] = ppap_list[0]

count = 0
for i in range(n-2):
    if ppap_list[i] == 'p':
        if ppap_list[i+1] == 'P':
            if ppap_list[i+2] == 'A':
                if ppap_list[i+3] == 'p':
                    count += 1

    else:
        continue

print(count)
其他回答:
TAKEAWAY:
感じ: