※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 26004번 문제인 HI-ARC이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/26004
26004번: HI-ARC
첫째 줄에 문자열 $S$의 길이 정수 $N$이 주어진다. ($1 \leq N \leq 100\,000$) 둘째 줄에 문자열 $S$가 주어진다. 문자열 $S$의 모든 문자는 영어 대문자이다.
www.acmicpc.net
주어지는 문자열을 읽어 'H', 'I', 'A', 'R', 'C'의 개수를 각각 센 다음, 그중 개수가 가장 적은 문자의 개수를 출력하는 것으로 문제를 해결할 수 있다. 해당 개수만큼 항상 "HIARC"를 구성할 수 있는 점과 그보다 더 많은 "HIARC"를 만들 수 없다는 점을 관찰하자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
int cnt[128];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
string s; cin >> s >> s;
for (auto& l : s) cnt[l]++;
cout << min(min(min(min(cnt['H'], cnt['I']), cnt['A']), cnt['R']), cnt['C']);
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 11434 // C++] Ampelmännchen (0) | 2022.11.22 |
---|---|
[BOJ 26040 // C++] 특정 대문자를 소문자로 바꾸기 (0) | 2022.11.21 |
[BOJ 14473 // C++] ぬいぐるみの整理 (Plush Toys) (0) | 2022.11.21 |
[BOJ 26057 // C++] Большой удой (0) | 2022.11.21 |
[BOJ 25084 // C++] Infinity Area (0) | 2022.11.21 |