문자 개수 세기

nacSeo (낙서)·2024년 1월 30일
0

프로그래머스

목록 보기
45/169

문제 설명

알파벳 대소문자로만 이루어진 문자열 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

나의 코드

class Solution {
    public int[] solution(String my_string) {
        int[] answer = new int[52];
        for(int i=0; i<my_string.length(); i++) {
            char c = my_string.charAt(i);
            if(c >= 'A' && c <= 'Z') {
                answer[c-'A']++;
            } else if(c >= 'a' && c<= 'z') {
                answer[26+c-'a']++;
            }
        }
        return answer;
    }
}

느낀 점

문제를 읽고 my_string.charAt(i)가 어떤 알파벳과 같을 때 해당 인덱스의 값을 증가시키려니 52개나 되는 알파벳들을 다 사용할 수 없겠다 판단됐다. 그래서 아스키코드 값을 이용하여 범위로 조건문을 짜서 해결!

profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글