울음참고 개발공부
728x90

 

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

 

프로그래머스

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

programmers.co.kr

 


 

<java />
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 ) 문자열 순서 비교 

<java />
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) 문자의 범위 비교

<java />
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

울음참고 개발공부

@메각이

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