AOJ-2252 : koukyoukoukokukikou

解法

やるだけ。入れ替わりとかはxorとってやればよい。

import java.util.Scanner;

public class Main{

	boolean[] right = new boolean[0x100];

	void run(){
		right['y'] = true;
		right['u'] = true;
		right['i'] = true;
		right['o'] = true;
		right['p'] = true;
		right['h'] = true;
		right['j'] = true;
		right['k'] = true;
		right['l'] = true;
		right['n'] = true;
		right['m'] = true;


		Scanner in = new Scanner(System.in);
		for(;;){
			String line = in.nextLine();
			if(line.equals("#")) return ;
			System.out.println(solve(line));
		}
	}

	int solve(String str){
		int ret = 0;
		boolean isRight = right[str.charAt(0)];
		for(int i=1; i<str.length(); i++){
			if(isRight ^ right[str.charAt(i)]){
				ret++;
			}
			isRight = right[str.charAt(i)];
		}
		return ret;
	}

	public static void main(String[] args){
		new Main().run();
	}
}