10808번: 알파벳 개수

문제:

알파벳 소문자로만 이루어진 단어 S가 주어진다. 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오.

입력:

첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.

풀이:

출처: https://www.w3resource.com/cpp-exercises/for-loop/cpp-for-loop-exercise-61.php

출처: https://www.w3resource.com/cpp-exercises/for-loop/cpp-for-loop-exercise-61.php

⚠️배열을 선언 할 때 = {}를 해주어야 되는 이유는 그냥 선언을 하고 아무 값도 안주어지면 0이 아닐 수도 있기 때문에 저렇게 선언함으로서 모든 값을 0으로 초기화를 해줄 수 있다. 참고로 = {0}은 제일 첫번째 인덱스의 값만 0이 되므로 ={}를 사용하자.

코드:

#include <iostream>

using namespace std;

int main(){
	string s;
	int alphabet[26] = {};
	//입력 
	getline(cin, s); 
	//알파벳에 맞는 인덱스에 개수 +1 
	for(int i = 0; i < s.size(); i++){
		alphabet[s[i]-'a']++;
	}
	//출력 
	for(int i = 0; i < 26; i++){
		cout << alphabet[i] << " ";
	}
}