본문 바로가기
컴퓨터 공학/백준

[백준] JAVA 자바 : 알파벳 개수 (10808번)

by kim-dev 2024. 1. 20.
반응형

문자열을 입력받고, 그 문자열에 존재하는 알파벳(a~z)의 개수를 모두 세는 문제이다.
사실 문제도 되게 쉽고… 난이도만 봐도 브론즈 급이라서 어차피 알고리즘 공부하시는 분들이라면 큰 어려움 없이 푸실 수 있을 듯.

나 같은 경우는 그냥 알파벳의 빈도 수를 저장하는 int 배열 n_list를 만들어서 알파벳을 만날 때마다 +1 해주었다.

import java.io.*;

public class NumberOfAlphabet_10808 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        
        int[] n_list = new int[122 - 97 + 1]; // 'z' - 'a' + 1개의 빈도 수 저장 배열
        String S = br.readLine();
        
        for (int i=0; i<S.length(); i++) { // 알파벳 별로 빈도 수를 저장한다
            int tmp = (int)S.charAt(i) - 97; // 자신의 알파벳 ASCII - 97(a)번 인덱스의 배열에!
            n_list[tmp]++; // 빈도 수를 1 올려줌
        }
        
        for (int i=0; i<n_list.length; i++) {
            sb.append(Integer.toString(n_list[i]) + " ");
        }
        
        System.out.print(sb);
    }

}

 

 

로그인

 

www.acmicpc.net

 

 

작성일자: 2023-09-05