백준 10808 알파벳 개수 (C++)

REASON·2022년 9월 23일
0

백준

목록 보기
4/7

백준 10808 알파벳 개수

문제

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

풀이 코드

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

int arr[26];

int main (){
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	
	string s;
	cin >> s;
	
	for(int i = 0; i < s.size(); i++){
		arr[s[i] - 'a']++;
	}
	
	for(int i = 0; i < 26; i++){
		cout << arr[i] << " ";
	}
	
	return 0;
}

문자열로 입력 받은 후 각 문자를 'a' 또는 97을 빼서 배열의 카운트를 증가시키면 된다. (아스키코드)
97 또는 'a'를 빼는 이유는 배열의 0번째 인덱스부터 사용하기 위해서이다.
이후 카운트된 배열을 하나씩 출력하면 되는 문제이다.

count는 맵 또는 배열을 사용해서 풀면 된다.

맵은 key와 value로 이루어져 있으므로 string을 사용할 때는 map을 사용하고, int를 사용할 때는 array를 사용해서 풀면 좋다.
(단, 배열이 1,000만 이상인 경우 공간복잡도가 초과될 수 있다. int 타입이더라도 input이 띄엄띄엄 들어오는 경우 배열대신 맵을 쓴다는 점 기억하기!)

0개의 댓글