주어진 소문자 영어 단어를 보고, 단어에 든 알파벳의 개수를 배열로 나타내기.
package src.baekjoon;
import java.io.*;
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));
String word = br.readLine();
int[] alpArr = new int[26];
for(int i = 0; i < alpArr.length; i++) {
alpArr[i] = 0;
}
for(int i = 0; i < word.length(); i++) {
int ascCode = ((int)word.charAt(i)) - 97;
alpArr[ascCode]++;
}
String result = "";
for(int i = 0; i < alpArr.length; i++) {
result += alpArr[i] + " ";
}
bw.append(result.trim());
bw.flush();
bw.close();
}
}
정답
아래 부분과 배열 초기화를 0으로 한다는 점만 제외하면 알파벳 찾기 문제와 동일하다.
for(int i = 0; i < word.length(); i++) {
int ascCode = ((int)word.charAt(i)) - 97;
alpArr[ascCode]++;
}
알파벳의 등장 횟수만큼 ++한다.
5분 내