반응형
https://www.acmicpc.net/problem/10808
10808번: 알파벳 개수
단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.
www.acmicpc.net
코드
#include <iostream>
using namespace std;
const int ALPHA = 26;
int main()
{
string str;
int alphabet[ALPHA] = { };
cin >> str;
for (int i = 0; i < str.length(); i++)
{
int num = str[i] - 97;
alphabet[num]++;
}
for (int i = 0; i < ALPHA; i++)
cout << alphabet[i] << " ";
return 0;
}
풀이
알파벳 소문자로 이루어진 단어가 주어졌을 때 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 문제이다.
알파벳 소문자는 아스키코드 97번부터 시작하기 때문에 배열에 저장할 때 97을 뺀 값을 인덱스로 배열에 저장하였다.
반응형
'문제 해결 > BaekJoon' 카테고리의 다른 글
[백준] [C++] 5218번 알파벳 거리 (0) | 2023.01.19 |
---|---|
[백준] [C++] 1157번 단어 공부 (0) | 2023.01.19 |
[백준] [C++] 10821번 정수의 개수 (0) | 2023.01.18 |
[백준] [C++] 11721번 열 개씩 끊어 출력하기 (0) | 2023.01.18 |
[백준] [C++] 11720번 숫자의 합 (0) | 2023.01.18 |