거인의 코딩일지
[Lv.0_JAVA] 문자 개수 세기 본문
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 |