울음참고 개발공부
728x90

 

https://school.programmers.co.kr/learn/courses/30/lessons/181902

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

class Solution {
    public int[] solution(String my_string) {
        int[] answer = new int[52];
        char ch;

        
        for (int i = 0; i < my_string.length(); i++) {
            ch = my_string.charAt(i);

            if (ch >= 'A' && ch <= 'Z') answer[ch - 'A']++;
            else if (ch >= 'a' && ch <= 'z') answer[26 + ch - 'a']++;
            
        }

        return answer;
    }
}

 

 

 


for문  에서 answer[ch-'A']++; 의 의미

아스키코드 값으로 A는 65 이다 
예를 들어 ch 값이 B 라면 66이고 answer[ch-'A'] 값은 answer[1] 이 된다.
초기에 answer 배열은 0으로 초기화 되어 있으므로,
answer[1]++; 를 하게되면 'B' 에 해당하는 1번째 인덱스 값이 +1 증가하게 된다. 

 

 

 

 

아스키 코드값 비교하기 

 

1 ) 문자열 순서 비교 

public class Main {
    public static void main(String[] args) {
    
        char ch1 = 'A';
        char ch2 = 'B';

        if (ch1 < ch2) {
            System.out.println(ch1 + " comes before " + ch2);
        } else if (ch1 > ch2) {
            System.out.println(ch2 + " comes before " + ch1);
        } else {
            System.out.println(ch1 + " and " + ch2 + " are the same character.");
        }
 }
 
 // 출력: A comes before B

 

 

 

 

 

2) 문자의 범위 비교

public class Main {
    public static void main(String[] args) {
        
        char ch = '@';

        if (ch >= 'A' && ch <= 'Z') {
            System.out.println(ch + " is an uppercase letter.");
        } else if (ch >= 'a' && ch <= 'z') {
            System.out.println(ch + " is a lowercase letter.");
        } else if (ch >= '0' && ch <= '9') {
            System.out.println(ch + " is a digit.");
        } else {
            System.out.println(ch + " is a special character.");
        }
    }   
}

// 출력 : @ is a special character.

 

 

 

이렇게 문자를 통해 아스키코트 값으로 비교할 수 있다. 

 

 

 

아스키 코드란?

 

TIL | ASCII Code

[ 아스키 코드 개념 ] ASCII 초창기에는 다양한 방법으로 문자를 표현했는데, 호환 등 여러 문제가 발생했다. 이런 문제를 해결하기 위해 ANSI에서 ASCII(American Standard Code for Information Interchange)라는

megak.tistory.com

 

728x90
profile

울음참고 개발공부

@메각이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!