(0< n)인 n개의 (띄어쓰기 포함, 한 줄마다. 1(문자)<= 문자열 <= 25)인 문자열 을 입력받습니다.
g, G 가 많으면 " is GOOD " 를 포함하여 출력
b, B 가 많으면 " is A BADDY " 를 포함하여 출력
둘이 같다면 " is NEUTRAL " 를 포함하여 출력 하는 문제입니다.
입력 값
8
Algorithm Crunching Man
Green Lantern
Boba Fett
Superman
Batman
Green Goblin
Barney
Spider Pig
출력 값
Algorithm Crunching Man is GOOD
Green Lantern is GOOD
Boba Fett is A BADDY
Superman is NEUTRAL
Batman is A BADDY
Green Goblin is GOOD
Barney is A BADDY
Spider Pig is GOOD
🔔 Kick Point :
string 라이브러리의, getline(cin, 변수명)을 받을 시, 이전에 n값의 입력값과 함께, 띄어쓰기가 주어지기에 이를 방지하기 위하여
cin.ignore() 함수를 사용하여 꼭 cin에 입력된 '\n' 를 지운 후 입력 받아야합니다.
이 후에는 문자의 갯수를 확인 후 각각 상황에 맞게 출력해주면 됩니다.
🔔 Code :
#include <iostream>
#include <string>
using namespace std;
int main() {
int n; cin >> n;
cin.ignore();
string str;
while (n--) {
int g(0), b(0);
getline(cin, str);
for (auto i : str) {
if (i == 'g' || i == 'G') g++;
else if (i == 'b' || i == 'B') b++;
}
cout << str << " is ";
if(g == b) cout << "NEUTRAL" << '\n';
else if(g > b) cout << "GOOD" << '\n';
else cout << "A BADDY" << '\n';
}
}