PS/BOJ

BOJ 10808 알파벳 개수 [Java]

모달조아 2021. 7. 21. 02:05

BOJ 10808 알파벳 개수

- 문제 링크

https://www.acmicpc.net/problem/10808

- 문제 해설

a부터 z가 단어 S에 나온 횟수를 담는 배열 cnt를 만들어 문제를 풀었다.
배열 cnt의 인덱스 0~25는 각각 a~z에 해당한다.
char a를 선언하고, a가 'a'~'z'까지 증가하며 입력된 단어에 있는지 검사하였다.
'a'가 아스키 코드로 97이기에 97을 빼주면, 알파벳에 해당하는 인덱스 값을 얻을 수 있다.

- 코드 보기

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 str = br.readLine();
        int cnt[]=new int[26];
        for (char a = 'a'; a <= 'z'; a++)
        {
            for (int i = 0; i < str.length(); i++)
            {
                if(a==str.charAt(i))
                    cnt[a-97]++;
            }
        }
        for(int i=0; i<26; i++)
            bw.write(Integer.toString(cnt[i])+" ");

        br.close();
        bw.flush();
        bw.close();
    }
}