문제 풀이/Baekjoon Online Judge
[Baekjoon Online Judge] 10808번: 알파벳 개수
hyeonic
2021. 1. 8. 19:53
10808번: 알파벳 개수
단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.
www.acmicpc.net
import java.io.*;
import java.util.HashMap;
import java.util.Map;
public class Baekjoon10808 {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
String alphabet = "abcdefghijklmnopqrstuvwxyz";
String word = bufferedReader.readLine();
Map<Character, Integer> alphabetMap = new HashMap<>();
for (int i = 0; i < word.length(); i++) {
Character character = word.charAt(i);
if (alphabetMap.containsKey(character)) {
alphabetMap.put(character, alphabetMap.get(character) + 1);
} else {
alphabetMap.put(character, 1);
}
}
for (int i = 0; i < alphabet.length(); i++) {
Character character = alphabet.charAt(i);
if (alphabetMap.containsKey(character)) {
bufferedWriter.write(alphabetMap.get(character) + " ");
} else {
bufferedWriter.write( "0 ");
}
}
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
}
}
Map을 활용하여 알파벳을 key로 활용하고, 해당 알파벳의 value는 단어에 포함된 개수이다. Map에 없다면 0을 출력하도록 구현하였다.