[BOJ/10808/C++] 알파벳 개수

SHark·2023년 3월 2일
0

BOJ

목록 보기
7/59

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

문제

알파벳 소문자로만 이루어진 단어 S가 주어진다. 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오.

조건

  • 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.

SOL

문자열에 있는 알파벳의 개수를 구하는 문제이다. 문제자체는 사실 어렵지 않지만, 아이디어가 정말 중요하고 응용이 많이되는 아이디어이다.

Alphabet[0] = a의 개수
Alphabet[1] = b의 개수
...

같이 배열의 인덱스에 "의미"를 부여하는 과정이 들어가기 때문에, 반복문을 줄일 수 있게 된다.

#include <bits/stdc++.h>
using namespace std;

int main()
{
  int alphabet[26];
  for (int i = 0; i < 26; i++)
  {
    alphabet[i] = 0;
  string s;]
  '
  cin >> s;

  for (int i = 0; i < s.length(); i++)
  {
    alphabet[s[i] - 'a'] += 1;
  }

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

0개의 댓글