[C++] 백준 16139. 인간-컴퓨터 상호작용

멋진감자·2025년 2월 12일
0

알고리즘

목록 보기
85/105
post-thumbnail

🌽 문제

🥕 입출력

🥔 풀이

v[문자][i]: arr[0] ~ arr[i] 까지 문자가 나타난 횟수로 두고 푼다.

이 때 문자를 인덱스로 사용하기 위해,
문자열의 각 문자에서 'a'를 빼어 int 형으로 변환해주는 것이 디테일이다.

🥬 코드

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	string str;
	int q;
	cin >> str >> q;

	vector<vector<int>> v(26, vector<int>(str.size() + 1, 0));

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

	while (q--) {
		char ch;
		int l, r;
		cin >> ch >> l >> r;
		cout << v[ch - 'a'][r + 1] - v[ch - 'a'][l] << "\n";
	}

	return 0;
}

🥜 채점

profile
난멋져

0개의 댓글

관련 채용 정보