[Algorithm] 10808 알파벳 갯수

gunggme·2023년 11월 16일

알고리즘

목록 보기
6/42

시작

오늘 강의에서 본 알고리즘 문제는 아주 간단한 문제가 나왔다. 물론.. 쉽다고 자만하면 안된다는 사실은 잊지말자. 먼저 알고리즘을 짜보자.

알고리즘

  1. 영어는 소문자만 받으니 a~z의 수인 26개의 배열을 만든다.
  2. 소문자만 있으니 배열에서 'a'를 빼면 0~25까지 나오는걸 알 수 있다.
  3. 2번에서 구한 인덱스를 배열에서 참조후에 +1을 해주면 끝

코드

for문

#include<iostream>
#include<vector>
#include<string>
#include<algorithm>

using namespace std;

int main() {
	string eng;
	vector<int> engList(26);
	cin >> eng;
    // 문자열의 크기만큼 소문자 밖에 없으니 'a'의 수부터 차례대로 뺀 인덱스를 구해 +1
	for (int i = 0; i < eng.length(); i++) {
		engList[eng[i] - 'a']++;
	}

	for (int i : engList) {
		cout << i << " ";
	}
}
profile
안녕하세요!

0개의 댓글