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

 

10808번: 알파벳 개수

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

www.acmicpc.net

 

풀이 과정

 알파벳 개수만큼 배열을 만들고 string에 입력을 받았다. 문자열을 0 -> str.size() 까지 검사하며, 알파벳에 해당하는 인덱스를 ++했다. 그리고 alpha[]배열을 차례로 출력했다.

 

느낀 점

 간단한 문자열 문제였다. '소문자' - 'a' 와 같이 연속되는 문자열 첫글자를 빼줘서 문자열과 인덱스 번호를 맞췄다. 또 대문자 'A' = 65, 소문자 'a' = 97, 알파벳 개수 = 26 정도 암기하면 좋은 문제였다.

 

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

string str;
int alpha[26];

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);

	cin >> str;

	for (int i = 0; i < str.size(); i++) {
		alpha[str[i] - 'a']++;
	}

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

'알고리즘 : C++ > BaekJoon' 카테고리의 다른 글

백준 11655번 - ROT13  (0) 2023.05.19
백준 1159번 - 농구 경기  (0) 2023.05.19
백준 10988번 - 팰린드롬인지 확인하기  (1) 2023.05.19
백준 2979번 - 트럭 주차  (0) 2023.05.19
백준 2309번 - 일곱 난쟁이  (0) 2023.05.19

+ Recent posts