<문제>
<풀이>
이걸 첨에 봤을땐.. 알파벳마다 일일이 조건문을 넣어서 해야되나 잠깐! 아주 잠깐!!! 고민했는데
그건 너무 아닌 것 같아서 생각해보니.. 아스키코드가 떠올랐다.
매우매우매우매우~~쉬움.
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("[\\]\\[\\,]",""));
}
}
<결과>
'알고리즘 공부...공......공' 카테고리의 다른 글
[백준: 알고리즘_Java] 11655번_ROT13 (0) | 2022.01.17 |
---|---|
[백준: 알고리즘_Java] 1158번_요세푸스 문제 (0) | 2022.01.13 |
[백준: 알고리즘_Java] 9613번_GCD 합 (0) | 2022.01.07 |
[백준: 알고리즘_Java] 2609번_최대공약수와 최소공배수 (0) | 2022.01.07 |
[백준: 알고리즘_Java] 10430번_나머지 (0) | 2022.01.06 |
댓글