Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.0_JAVA] 문자 개수 세기 본문

알고리즘테스트/Programmers

[Lv.0_JAVA] 문자 개수 세기

코딩거인 2023. 10. 28. 08:43
728x90

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;
    }
}

 

우선 answer 이라는 배열에 길이를 설정 해주었다. 대문자 26 개 소문자 26개임으로 answer 배열의 길이는 52가 된다.

그 뒤 for 반복문을 활용하여 my_string 변수 안에 있는 문자열을 charAt() 함수를 통하여 하나하나 가져오게 하였고
if 문으로 크기를 비교해 주어 대문자일 경우와 소문자일 경우를 나눠서 가져왔다.

if 문 안에 char 형태를 어떻게 저렇게 구분 할수 있냐면

관계 연산자 사용이다.

일반적으로 문자를 비교하는 가장 간단한 방법은 관계연산자를 사용하는 것이다.

문자는 ASCII 코드의 순서에 따라 Java에서 비교된다.

그 뒤에 아스키 코드를 보며 answer 배열에 index 를 찾아서 넣어주었다!

728x90

'알고리즘테스트 > Programmers' 카테고리의 다른 글

[LV.0_JAVA] 두 수의 합  (0) 2023.12.17
[Lv.0_JAVA] 글자 지우기  (0) 2023.10.30
[Lv.1_Java] 햄버거 만들기  (0) 2023.10.26
[Lv.0_JAVA] 문자열 계산하기  (0) 2023.10.13
[Lv.0_Java] 약수 구하기  (0) 2023.10.05