ARC168 python Atcoderの記録

問題はこちら
1完

A
テストケースを見て、">"→転倒数1増加、">>"→転倒数3増加、">>>"→転倒数6増加、つまり">"がN回連続すると転倒数が0.5N(N+2)増加するっぽいことに気づいたのでそれで実装

N = int(input())
S = input()
count_list = [] # > が何回連続しているかを格納する変数
counter = 0

for s in S:
    if s == ">": # > が連続するならカウンターを増やす
        counter += 1
    else:
        count_list.append(counter)# < が出てきたらカウンターの数をリストに入れて、カウンターリセット
        counter = 0
count_list.append(counter)
# answerを足し合わせる
answer = 0
for i in count_list:
    if i < 1:
        pass
    else:
        answer += 0.5*i*(i+1)
print(int(answer))


B
Nim和、Groundy数っぽいと思ったが、理解していないので撤退。





C





D





E





F