https://www.acmicpc.net/problem/26004
26004번: HI-ARC
첫째 줄에 문자열 $S$의 길이 정수 $N$이 주어진다. ($1 \leq N \leq 100\,000$) 둘째 줄에 문자열 $S$가 주어진다. 문자열 $S$의 모든 문자는 영어 대문자이다.
www.acmicpc.net
문제
당신은 𝐇𝐈-𝐀𝐑𝐂의 열렬한 팬이다. 따라서 위의 이모지를 만들고 싶어 한다.
현재 N 길이의 문자열 S 를 가지고 있다. 이모지를 하나 만들기 위해선 𝐇 𝐈 𝐀 𝐑 𝐂 각 문자가 하나씩 필요하다. 이모지를 최대 몇 개 만들 수 있는지 구해보자.
입력
첫째 줄에 문자열 S 의 길이 정수 N 이 주어진다. (1≤N≤100000 )
둘째 줄에 문자열 S 가 주어진다. 문자열 S 의 모든 문자는 영어 대문자이다.
출력
첫째 줄에 주어진 문자열 S 로 만들 수 있는 이모지의 최대 개수를 출력한다.
예제 입력 1
12
HIARCCRAIHAS
예제 출력 1
2
𝐇가 2개 𝐈가 2개 𝐀가 3개 𝐑이 2개 𝐂가 2개로 𝐇𝐈-𝐀𝐑𝐂 이모지를 2개 만들 수 있다.
예제 입력 2
4
HIAR
예제 출력 2
0
𝐂가 존재하지 않아 𝐇𝐈-𝐀𝐑𝐂를 만들 수 없다.
예제 입력 3
5
HIARC
예제 출력 3
1
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
using namespace std;
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <functional>
#include <cmath>
#include <map>
#include <set>
#define _CRT_SECURE_NO_WARNINGS
#define INF 987654321
#define ll long long
typedef pair<int, int> PII;
int arr[26];
int cnt = 0;
int main() {
int n;
string s;
cin >> n >> s;
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'H' || s[i] == 'I' || s[i] == 'A' || s[i] == 'R' || s[i] == 'C') {
arr[s[i] - 'A']++;
}
}
int minVal = 1000000;
//5글자 전부 있는지 체크
for (int i = 0; i < 26; i++) {
if (arr[i] != 0) cnt++;
}
if (cnt == 5) {
for (int i = 0; i < 26; i++) {
if (arr[i] != 0 && arr[i] < minVal) {
minVal = arr[i];
}
}
cout << minVal << "\n";
}
else {
cout << "0" << "\n";
}
return 0;
}
|
cs |
728x90
반응형
'🔻PS > Baekjoon' 카테고리의 다른 글
[Baekjoon] 백준 25949 단순한 문제 (Small) C++ (2) | 2022.11.24 |
---|---|
[Baekjoon] 백준 25965 미션 도네이션 C++ (0) | 2022.11.21 |
[Baekjoon] 백준 14730 謎紛芥索紀 (Small) C++ (2) | 2022.11.19 |
[Baekjoon] 백준 10101 삼각형 외우기 C++ (2) | 2022.11.17 |
[Baekjoon] 백준 9316 Hello Judge C++ (0) | 2022.11.16 |