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 JAVA (judge verdict: Accepted)

import java.util.Scanner;

/**
 * A-Z-
 */
public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		String S = 'A' + sc.next();
		int count = 0;

		for (int i = 1; i < S.length(); i++) {
			if (S.charAt(i) <= S.charAt(i - 1)) count++;
		}

		System.out.println(count);
	}
}