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
'코테연습 > 프로그래머스' 카테고리의 다른 글
코딩 기초 트레이닝 > 배열 조각하기 Java #copyOfRange (0) | 2023.09.21 |
---|---|
⭐ 코딩 기초 트레이닝 > 글자 지우기 - Java # deleteCharAt() (0) | 2023.09.15 |
코딩 기초 트레이닝 > qr code - Java #charAt() (0) | 2023.09.13 |
코딩기초트레이닝 > 세로 읽기 Java (0) | 2023.09.07 |
코딩기초트레이닝 > 문자열 뒤집기 Java (0) | 2023.09.07 |