問題はこちら
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