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중에서 가장 작게 나온 값을 출력하면 된다.
알파벳을 세어주는 것은 입력으로 들어온 알파벳에 -'A'를 해 주면, 배열을 26칸으로 모든 알파벳의 등장횟수를 알수있다.
코드
#include <iostream>
using namespace std;
int N;
string str;
int alpha[28];
int main(){
cin>>N;
cin>>str;
for(int i=0;i<str.size();i++){
int idx= str[i] - 'A';
alpha[idx]++;
}
int cnt=min(alpha['H'-'A'],alpha['I'-'A']);
cnt = min(cnt,alpha[0]);
cnt = min(cnt,alpha['R'-'A']);
cnt = min(cnt, alpha['C'-'A']);
cout<<cnt;
}
'백준' 카테고리의 다른 글
C++[백준] 25402번 트리와 쿼리 (1) | 2023.05.20 |
---|---|
C++[백준]16435번 스네이크버드 (0) | 2023.05.12 |
C++[백준]11670 초등 수학 (0) | 2023.05.12 |
C++[백준]2243번 사탕상자 (0) | 2023.04.22 |
C++[백준]2244번 민코프스 합 (0) | 2023.04.20 |