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.*;
import java.math.*;

class Main{
	public static void main(String[] args){
		Solve s = new Solve();
		s.solve();
	}	
}

class Solve{
	Solve(){}
	
	Scanner in = new Scanner(System.in);

	void solve(){
		String s = in.next();
		int k = 0, u = 0, p = 0, c = 0;

		for(int i = 0; i < s.length(); i++){
			if(s.charAt(i) == 'K') k++;
			else if(s.charAt(i) == 'U') u++;
			else if(s.charAt(i) == 'P') p++;
			else if(s.charAt(i) == 'C') c++;
		}

		System.out.println(Math.min(k, Math.min(u, Math.min(p, c))));
	}
	
}

// while(in.hasNext()){
		// 	int n = in.nextInt();
		// 	if(n == 0) return;
			
		// }