아스키코드 : 문자와 숫자가 맵핑되어 있음.
아래의 두 개는 외워두면 좋다.
A : 65
a : 97
#include<bits/stdc++.h>
using namespace std;
string S;
int cnt[26];
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
cin >> S;
for(char a : S) {
cnt[a - 'a']++;
}
for(int i = 0; i < 26; i++){
cout << cnt[i] << " ";
}
cout << '\\n';
return 0;
}
cnt[a - ‘a’] 값에 ++하는 이유는 cnt 배열의 크기를 필요한 알파벳 개수만큼만 선언하기 위해서이다.
‘a’는 아스키코드로 97인데 그냥 cnt[a] 로 선언하면 z 값인 122까지 사용하기 위해 배열의 크기를 123 이상으로 선언해야 한다. (인덱스가 122이니 배열의 크기는 123)