문제풀이

<C/C++> 백준 10808 : 알파벳 개수

Zhin 2022. 8. 10. 10:34

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

 

10808번: 알파벳 개수

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

www.acmicpc.net

 

이번 문제는 문자열의 알파벳 갯수를 카운트 하여 출력하는 문제이다.

ASCII 코드라는 개념을 알고있다면 쉽게 풀 수 있는 문제이며, 배열을 사용하여 카운트를 올려줌으로써

문제를 쉽게 해결할 수 있다

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <bits/stdc++.h>
 
using namespace std;
 
string s;
int arr[26];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
 
    // 문자열 입력 받음
    cin >> s;
    
    // 문자 하나의 위치에 카운트
    for (int i = 0; i < s.length(); i++)
    {
        arr[s[i] - 'a']++;      // 'a' - 'a' = 0 / 'z' - 'a' = 25
    }
    
    // 출력
    for (int n : arr)
    {
        cout << n << " ";
    }
    cout << '\n';
    return 0;
}
cs