반응형

문제

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

 

10808번: 알파벳 개수

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

www.acmicpc.net

풀이 과정

알파벳이 총 몇 개인지 확인 ( 26개)

각 알파벳 단어에 몇개가 포함되어 있는지 확인

해당 알파벳 : X개 ( key : value ) → map, set, 카운팅 배열

 

코드

#include <iostream>
#include <map>

using namespace std;

int main() {
	string input;
	cin >> input;

	int a[26]{};
	for (const auto& iter : input)
	{
		a[iter - 'a'] += 1;
	}

	for (const auto& iter : a)
	{
		cout << iter << " ";
	}
}

풀이

1. 글자를 입력받는다.

2. 각 입력 받은 글자마다 카운팅 해준다.

 

후기

각 문자 아스키코드에서 'a'를 빼주게 되면 0 ~ 25가 됩니다. 이것을 이용하여 카운팅 작업을 해줍니다.

처음에는 어렵지만 알고 보면 어렵지 않은!! ..

반응형

'Etc > Algorithm' 카테고리의 다른 글

[BOJ] 2559 수열  (0) 2022.07.17
[BOJ]9996번 한국이 그리울 땐 서버에 접속하지  (0) 2022.07.14
[BOJ]11655번 ROT13  (0) 2022.07.14
[BOJ]2979번 트럭 주차  (0) 2022.07.13
[BOJ]2309-일곱 난쟁이  (0) 2022.07.11

+ Recent posts