문자 개수 세기 Lv. 0

박영준·2023년 6월 14일
0

코딩테스트

목록 보기
254/300
class Solution {
    public int[] solution(String my_string) {
        int[] answer = {};
        return answer;
    }
}

해결법

방법 1

class Solution {
    public int[] solution(String my_string) {
        int[] answer = new int[52];         // 알파벳 대/소문자 총 개수 : 52개
        
        for (int i = 0; i < my_string.length(); i++) {
            char ch = my_string.charAt(i);
            
            // ch 가 대문자 일 경우
            if ('A' <= ch && ch <= 'Z') {
                answer[ch - 'A']++;
            // ch 가 소문자 일 경우    
            } else if ('a' <= ch && ch <= 'z') {
                answer[26 + ch - 'a']++;
            }
        }

        return answer;
    }
}
  • 문자도 비교 연사자를 사용해서 판단이 가능하다

  • answer[ch - 'A']++;

    • 주어진 문자에서 가장 첫 문자인 A를 빼면, 주어진 문자가 속한 인덱스를 도출해낼 수 있다
  • answer[26 + ch - 'a']++;

    • 대문자 인덱스들 다음에 소문자 인덱스가 나오므로, 26을 더해주고 시작한다

문자 개수 세기 Lv. 0

profile
개발자로 거듭나기!

0개의 댓글