본문 바로가기
알고리즘 공부...공......공

[백준: 알고리즘_Java] 10808번_알파벳 개수

by MININI 2022. 1. 14.

 

<문제>

 


<풀이>

 

이걸 첨에 봤을땐.. 알파벳마다 일일이 조건문을 넣어서 해야되나 잠깐! 아주 잠깐!!! 고민했는데 

그건 너무 아닌 것 같아서 생각해보니.. 아스키코드가 떠올랐다.

매우매우매우매우~~쉬움.

 

 

ASCII 코드 표

 

 

위의 표를 보면 a~z까지의 문자는 10진수로 각각 97~122이므로,

이를 이용해 반복문으로 개수를 확인해 주면 된다.

 

count배열의 인덱스 0~25까지를 a~z로 생각하여,

입력값의 각 문자의 아스키코드에서 97을 뺀 값을 인덱스로 설정하여 해당 값에 +1 해준다.

 

import java.io.*;
import java.util.Arrays;

public class Alphabet_count {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        char[] input = br.readLine().toCharArray();
        int[] count = new int[26];

        //알파벳 아스키코드 : a-97, b-98,,,,

        for(int i = 0; i < input.length; i++) {
            int ascii = (int)input[i];
            count[ascii-97] ++;
        }


        System.out.println(Arrays.toString(count).replaceAll("[\\]\\[\\,]",""));





    }
}

 

 


<결과>

 

댓글