백준 10808번 문제 : 알파벳 개수

문제 링크 : 백준 10808번 : 알파벳 개수

기초부터 다시 차근차근 해나가기로 했다!
이 문제는 아주 간단하다. 아스키 코드를 실제로 적용해보는 수준이라 생각하면 될 것 같다. 문자열을 입력받고, 단어의 a의 개수, b의 개수, …, 를 배열에 순서대로 저장해 출력해주는 문제이다. 영어 소문자 알파벳의 개수는 총 26개이므로 크기가 26인 int형 배열을 선언한다. 아스키 코드로 a는 97, z는 122이다. 알파벳에서 a를 빼주면 배열 인덱스 값이 나오므로, 그 값을 증가시켜주면 해결되는 간단한 문제이다.

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string s;
	cin >> s;
	int c[26];
	int a;

	for (int i = 0; i < s.size(); i++) {
		a = s[i] - 'a';
		c[a]++;
	}
	
	for (int i = 0; i < 26; i++) {
		cout << c[i] << " ";
	}
	cout << endl;

    return 0;
}