아스키코드 : 문자와 숫자가 맵핑되어 있음.

아래의 두 개는 외워두면 좋다.

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)