Problem:
問題 A KUPC

問題文

とある学生が，Kyoto University Programming Contest (KUPC) を開こうと考えた．そこで彼は，看板を作って皆に宣伝することにした．今，手元にはアルファベット 1 文字の書かれた板がいくつもある．これらの板から 'K'，'U'，'P'，'C' という文字の書かれた 4 枚の板を選ぶことで看板を 1 つ作成できる．この作業を繰り返すことで，沢山の看板を作成できるはずである．さて，与えられた板を使って，最終的に何枚の KUPC と書かれた看板が得られるだろうか？

入力形式

文字列が 1 行で与えられる．文字列の各文字は，各板に書かれている文字を表す．

出力形式

KUPC という看板が何枚作成できるかを計算し，その数を 1 行に出力せよ．

制約

文字列はアルファベットのみからなる．

文字列の長さは 300 以内である．

入出力例

入力例 1

KUPCkupcKUPC

出力例1

2

入力例 2

UNPACK

出力例 2

1

入力例 3

KkKUUuPPPCCC

出力例 3

2

Solution in JAVA (judge verdict: Accepted)

import java.util.*;
public class Main {
	static Scanner sc = new Scanner(System.in);
	static String line;

	public static void main(String[] args) {
		while(read()){
			solve();
		}
	}
	static boolean read(){
		if(!sc.hasNext())return false;
		line = sc.next();
		return true;
	}
	static void solve(){
		int countK = 0,
			 countU = 0,
			 countP = 0,
			 countC = 0;
		for(int i = 0; i < line.length(); i++){
			char word = line.charAt(i);
			if(word == 'K'){
				countK++;
			}else if(word == 'U'){
				countU++;
			}else if(word == 'P'){
				countP++;
			}else if(word == 'C'){
				countC++;
			}
		}
		int res = Math.min(Math.min(countK, countU),Math.min(countP, countC) );
		System.out.println(res);
	}
}