알파벳 개수를 출력하는 문제입니다.
알파벳 개수만큼 배열을 만들고
for문을 통해서 문자 하나하나에 대해서 체크를 합니다.
소문자만 입력받기 때문에 가장 작은 글자는 a입니다.
a는 아스키코드로 97이므로 문자 -97 한 배열위치를 +1해줍니다.
이를 통해 각 알파벳의 개수를 셀수있습니다.
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
int alpha[26];
string s;
memset(alpha, 0, sizeof(alpha));
cin >> s;
for (int i = 0; i < s.length(); ++i) {
++alpha[s[i] - 97];
}
for (int i = 0; i < 26; ++i) {
cout << alpha[i] << " ";
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 1032번 명령 프롬프트 (0) | 2019.09.09 |
---|---|
[C++] 백준 1100번 하얀 칸 (0) | 2019.09.09 |
[C++] 백준 2743번 단어 길이 재기 (0) | 2019.09.09 |
[C++] 백준 1158번 조세퍼스 문제 (0) | 2019.09.09 |
[C++] 백준 2312번 수 복원하기 (0) | 2019.09.09 |