본문 바로가기

백준

C++[백준]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중에서 가장 작게 나온 값을 출력하면 된다.

 

알파벳을 세어주는 것은 입력으로 들어온 알파벳에 -'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