문자 개수 세기
알파벳 대소문자로만 이루어진 문자열 my_string이 주어질 때, my_string에서 'A'의 개수, my_string에서 'B'의 개수,..., my_string에서 'Z'의 개수, my_string에서 'a'의 개수, my_string에서 'b'의 개수,..., my_string에서 'z'의 개수를 순서대로 담은 길이 52의 정수 배열을 return 하는 solution 함수를 작성해 주세요.
1 ≤ my_string의 길이 ≤ 1,000
💻 풀이
charAt()을 사용해 문자열을 하나씩 분리해준다. public int[] solution1(String my_string) {
int[] arr = new int[52];
for(int i = 0; i < my_string.length(); i++) {
char ch = my_string.charAt(i);
// 문자가 대문자일 경우
if('A' <= ch && ch <= 'Z') {
arr[ch - 'A']++; // 알파벳 순서에 맞춰 값 증가
// ex. B - A = 1 → arr[1]++;
// 문자가 소문자일 경우 (인덱스 26~51)
}else if('a' <= ch && ch <= 'z') {
arr[ch - 'a' + 26]++;
}
}
return arr;
}