본문 바로가기

문과 코린이의, [C. C++] 기록/C++ 백준 문제풀이

[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 알파벳 개수 (10808)

반응형

[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 알파벳 개수 (10808)

[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 알파벳 개수 (10808)

 


 

 

10808번: 알파벳 개수

단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.

www.acmicpc.net

[ 문제 ]

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

[ 입력 ]

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

[ 출력 ]

단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.

 


[ 코드 1 ]

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

int main() {
	string S; // 단어 S
	cin >> S; 

	int alp[26] = { 0, }; // 알파벳 개수 담는 배열

	for (int i = 0; i < S.length(); i++)
	{
		alp[S[i] - 'a'] +=1;
	}

	for (int i = 0; i < 26; i++)
	{
		cout << alp[i] << ' ';
	}
	
	return 0;
}

[ 코드 2 ]

#include<iostream>
#include<algorithm> // count 함수 포함 : lterable한 것 (배열, string 등)에서 값(val)이 몇 개 존재하는지 개수를 반환함 
using namespace std;

int main() {
	string S; // 단어 S
	cin >> S; 
	
	for (int i = 'a'; i <= 'z'; i++)
	{
		cout << count(S.begin(), S.end(), i) << ' ';
		// string에서 알파벳 개수를 카운트하는 예시코드
	}
	
	return 0;
}
반응형