본문 바로가기

백준/C++

[BaeKJoon/C++] 백준 4447 c++ 좋은놈 나쁜놈

반응형

https://www.acmicpc.net/problem/4447

 

4447번: 좋은놈 나쁜놈

비키니시티에는 초능력을 가진 수퍼 히어로들로 바글바글하다. 스폰지밥과 패트릭은 주어진 문자열로 좋은놈과 나쁜놈을 골라내려 한다. 스폰지밥: 우와, 문자열에서 강한 힘이 느껴지는데!

www.acmicpc.net

 

이름의 'g'와 'b'의 개수에 따라 “GOOD”, “A BADDY”, “NEUTRAL”  중에 적절한 것을 골라 출력한다.

 

풀이

문자열에서 'g'와'G' 문자가  'b', 'B'보다 많으면 "GOOD" 출력,

'b', 'B' 문자가 더 많으면 "A BADDY"출력,

두개의 문자의 개수가 같으면 "NEUTRAL"를 출력한다.

 

코드

#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
 
    int test;
    cin>>test;
    cin.ignore();
 
    string str;
 
    for(int i=0; i<test; i++){
        getline(cin, str);
 
        int cntg=0; // g,G의 개수 카운트
        int cntb=0; // b,B의 개수 카운트
 
        for(int i=0; i<str.length(); i++){
            if(str[i]=='G'||str[i]=='g'){
                cntg++;
            }
            else if(str[i]=='B'||str[i]=='b'){
                cntb++;
            }
        }
 
        if(cntg==cntb){
            cout<<str<<" is "<<"NEUTRAL\n";
        }
        else if(cntg>cntb){
            cout<<str<<" is "<<"GOOD\n";
        }
        else{
            cout<<str<<" is "<<"A BADDY\n";
    }
 
    }
}
cs

 

 

반응형