코딩테스트 연습/Baekjoon

[Baekjoon] 10808번: 알파벳 개수

수기 2022. 3. 31. 19:30

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

 

10808번: 알파벳 개수

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

www.acmicpc.net

알파벳 소문자를 alphabet[0]=a, alphabet[1]=b ... alphabet[25]=z 배열에 넣어두고,
입력받은 값에서 'a'문자(=97)를 뺀 값으로 ( input[i]-'a' )

result배열에 영소문자의 개수를 각각 저장한다. (result[0]=a의개수, result[1]=b의개수 ... result[25]=z의 개수)

 


코드

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

//10808
int main()
{
    string input;
    char alphabet[26];
    int result[26]={0};
    for(int i=0;i<26;i++){
        alphabet[i] = 'a'+i;
    }

    cin>>input;

    for(int i=0;i<input.length();i++){
        result[ input[i]-'a' ]++;
    }

    for(int i=0;i<26;i++) cout << result[i] <<" ";


    return 0;
}