관리 메뉴

Mini

백준 10808 알파벳 개수 본문

Algorithm/boj

백준 10808 알파벳 개수

Mini_96 2023. 1. 24. 22:05

https://www.acmicpc.net/problem/10808

 

10808번: 알파벳 개수

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

www.acmicpc.net

 

#include <bits/stdc++.h>

using namespace std;

string s;
int a[26];

int main()
{
	cin >> s;	//입력

	for (int i = 0; i < s.length(); ++i)
	{
		if (s[i] == 'a')
			a[0]++;
		else if (s[i] == 'b')
			a[1]++;
		else if (s[i] == 'c')
			a[2]++;
		else if (s[i] == 'd')
			a[3]++;
		else if (s[i] == 'e')
			a[4]++;
		else if (s[i] == 'f')
			a[5]++;
		else if (s[i] == 'g')
			a[6]++;
		else if (s[i] == 'h')
			a[7]++;
		else if (s[i] == 'i')
			a[8]++;
		else if (s[i] == 'j')
			a[9]++;
		else if (s[i] == 'k')
			a[10]++;
		else if (s[i] == 'l')
			a[11]++;
		else if (s[i] == 'm')
			a[12]++;
		else if (s[i] == 'n')
			a[13]++;
		else if (s[i] == 'o')
			a[14]++;
		else if (s[i] == 'p')
			a[15]++;
		else if (s[i] == 'q')
			a[16]++;
		else if (s[i] == 'r')
			a[17]++;
		else if (s[i] == 's')
			a[18]++;
		else if (s[i] == 't')
			a[19]++;
		else if (s[i] == 'u')
			a[20]++;
		else if (s[i] == 'v')
			a[21]++;
		else if (s[i] == 'w')
			a[22]++;
		else if (s[i] == 'x')
			a[23]++;
		else if (s[i] == 'y')
			a[24]++;
		else if (s[i] == 'z')
			a[25]++;
	}

	for (int i = 0; i < 26; ++i)
	{
		cout << a[i] << " ";
	}
}

 

개선

for(char c : s)
{
	a[c-'a']++;	//알파벳-65  , b가 들어오면 a[66-65]의 카운트가 ++됨.
}

 

 

'Algorithm > boj' 카테고리의 다른 글

백준 1159 농구경기  (0) 2023.02.12
백준 3986 좋은단어  (0) 2023.01.25
백준 1158 cpp  (0) 2023.01.18
백준 1110  (0) 2023.01.18
백준 3040  (0) 2023.01.16