
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
LinkedHashMap<String, Integer> works = new LinkedHashMap<>();
works.put("Re", 0);
works.put("Pt", 0);
works.put("Cc", 0);
works.put("Ea", 0);
works.put("Tb", 0);
works.put("Cm", 0);
works.put("Ex", 0);
int total = 0;
String line;
while ((line = br.readLine()) != null && !line.isEmpty()) {
StringTokenizer str = new StringTokenizer(line);
while (str.hasMoreTokens()) {
String token = str.nextToken();
total++;
if (works.containsKey(token)) {
works.put(token, works.get(token) + 1);
}
}
}
for (Map.Entry<String, Integer> entry : works.entrySet()) {
bw.write(entry.getKey() + " ");
bw.write(entry.getValue() + " ");
bw.write(String.format("%.2f", (double) entry.getValue() / total));
bw.newLine();
}
bw.write("Total " + total + " 1.00");
bw.flush();
bw.close();
br.close();
}
}
// 입력
Cc Pt Pt Re Tb Re Cm Cm Re Pt Pt Re Ea Ea Pt Pt
Pt Re Re Cb Cb Pt Pt Cb
// 출력
Re 6 0.25
Pt 9 0.38
Cc 1 0.04
Ea 2 0.08
Tb 1 0.04
Cm 2 0.08
Ex 0 0.00
Total 24 1.00
BufferReader.readLine() : 입력 스트림에서 한 줄을 읽어오는 메서드.
더 이상 입력이 없으면 readLine() 은 null 을 반환한다.
이것이 '입력 끝' 을 의미 !
LinkedHashMap : 삽입 순서를 유지하는 Map 인터페이스.
효울은 일반 HashMap 에 비해 떨어지지만 고정된 순서로 출력해주기 위해 사용하였다.