Problem:
A： A-Z-

問題

26 マスの円環状のボードがあり、各マスには大文字のアルファベット 1 文字が、アルファベット順に時計回りに書かれています。すなわち、 'A' のマスの時計回り隣は 'B' のマスで、 'B' のマスの隣は 'C' のマスで、・・・、 'Z' のマスの時計回り隣は 'A' のマスです。

また、ボードには 'A' のマスに駒が 1 つ置かれています。

あなたは、文字列 S を受け取り、 S の先頭から 1 文字ずつ見て駒を操作します。 i 回目の操作は以下のようになります。

その時点で駒のあるマスから S の i 文字目のアルファベットのマスを目指して、駒を時計回りに 1 マスずつ移動させる。このとき少なくとも 1 マスは移動するとする。したがって、例えば 'A' のマスから 'A' のマスに移動する際は、ボードを 1 周しなくてはならない。

上記の操作の結果、駒が 'A' のマスを何回踏んだかを答えてください。なお「 'A' のマスを踏む」とは、 'Z' のマスから 'A' のマスに駒を進めることを言います。

入力形式

入力は 1 行で与えられる。

S

S はあなたが受け取る文字列を表す。

制約

1 \leq |S| \leq 100

S は英大文字のみで構成される。

出力形式

'A' のマスを何回踏んだかを 1 行で出力せよ。

入力例1

AIZU

出力例1

2

A -> A (ここで 1 回)

A -> I (ここまで 1 回)

I -> Z (ここまで 1 回)

Z -> U (ここまで 2 回)

入力例2

HOKKAIDO

出力例2

4

Solution in Ruby (judge verdict: Accepted)

s = gets.chomp
array = s.split("").map(&:ord)

pre = "A".ord
ret = 0
array.each_with_index do |e|
    if e <= pre
        ret += 1
    end
    pre = e
end
puts ret