11736.平凡な数字


質問する



コード#コード#

#11736. 평범한 숫자
T = int(input())
for tc in range(1, T+1):
    N = int(input())
    pi = list(map(int, input().split()))
    cnt = 0
    for i in range(N):
        if 0 <= i-1 < N and 0 <= i+1 < N:
            if pi[i-1] < pi[i] < pi[i+1] or pi[i-1] > pi[i] > pi[i+1]:
                cnt+=1
    print('#{} {}'.format(tc, cnt))

に答える


問題は大きいが,数字iを両側と比較し,中間値であるかどうかを検証すればよい.
比較するインデックスが範囲内にあるかどうかを確認し、中間値を決定するifを確立しただけで、より簡潔になりますか?困ったときに直接提出します.幸いにも合格しましたが、コードの簡潔化を考えなければなりません.
/+当初forの開始が1,N-1であればif検証は不要!!
でもこれがなぜD 3なのか…?