初心者のプログラミング日記

プログラミング初心者の日記

プログラミングに関することを書いていきます。

ABC139(A~C)

A - Tenki

https://atcoder.jp/contests/abc139/tasks/abc139_a
かかった時間 1分30秒

S=str(input())
T=str(input())
ans=0

for i in range(3):
    if S[i]==T[i]:
        ans+=1
        
print(ans)

B - Power Socket

https://atcoder.jp/contests/abc139/tasks/abc139_b
かかった時間 2分

A,B=map(int,input().split())
ans=0

while B>0:
    B-=A
    ans+=1
    
print(ans)

C - Lower

https://atcoder.jp/contests/abc139/tasks/abc139_c
かかった時間 70分

N=int(input())
H=list(map(int,input().split()))

ans=0
count=0
for i in range(N-1):
    if H[i]>=H[i+1]:
        count+=1
    else:
        ans=max(ans,count)
        count=0
        
print(max(ans,count))

めちゃくちゃ時間がかかりました。
まず、 if H[i]>=H[i+1]では隣のマスが今居るマスの高さ以下である場合に移動距離を1足す。
elseで隣のマスが今居るマスの高さ以上だった場合に、ansとcountで大きい方を答えにする。
比べる理由は、過去に今以上の移動距離がある可能性があるので。
最後の出力も、入力例1や2のように移動出来た場合は、countにその移動距離が入っているので、ansとどちらが大きいか比べる必要がある。