- n[0]~n[25]까지를 a~z로 생각한다.
- n[0]은 a의 개수, n[1]은 b의 개수
- n[s.charAt(i)-97]++;
- s의 인덱스0의 문자부터 순서대로 알파벳 개수를 센다.
- charAt(int index)은 특정 위치의 문자(아스키코드 값)를 반환
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s=sc.next();
int n[] = new int[26]; //각 알파벳(a~z)의 개수를 저장
for(int i = 0;i<s.length();i++) {
n[s.charAt(i)-97]++;
}
for(int i=0;i<26;i++) {
System.out.print(n[i]+" ");
}
}
}
- 아스키코드 값
- a의 아스키코드 값은 97, b는 98, c는 99, ...z는 122
- A의 아스키코드 값은 65, B는 66, C는 67, ...Z는 90
- 숫자 0의 아스키코드 값은 48, 1은 49 ...
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[백준] 9095 1, 2, 3 더하기 - 자바(JAVA) (0) | 2023.08.10 |
---|---|
[백준] 2563 색종이 -자바(JAVA) (0) | 2023.08.09 |
[백준][java] 3009 네 번째 점 (0) | 2023.08.02 |
백준 10773 java (0) | 2023.07.09 |
백준 2908 java (0) | 2023.07.06 |