https://www.acmicpc.net/problem/4999
문제
재환이는 저스틴 비버 콘서트에서 소리를 너무 많이 질러서 인후염에 걸렸다.
의사는 재환이에게 "aaah"를 말해보라고 시켰다. 안타깝게도 재환이는 의사가 원하는 만큼 소리를 길게 낼 수 없는 경우가 있었다.
각각의 의사는 재환이에게 특정한 길이의 "aah"를 말해보라고 요청한다. 어떤 의사는 "aaaaaah"를 요구하기도 하고, "h"만 요구하는 의사도 있다.
모든 의사는 자신이 원하는 길이의 "aah"를 듣지 못하면 진단을 내릴 수 없다.
따라서, 재환이는 집에서 자신이 얼마나 길게 "aah"를 낼 수 있는지 알아냈고, 자기가 소리 낼 수 있는 길이의 "aah"를 요구하는 의사를 방문하려고 한다.
재환이가 낼 수 있는 "aah"의 길이와 의사가 요구하는 길이가 주어진다. 이때, 그 병원에 가야하는지 말아야 하는지를 알아내는 프로그램을 작성하시오.
입력
입력은 두 줄로 이루어져 있다. 첫째 줄은 재환이가 가장 길게 낼 수 있는 "aaah"이다. 둘째 줄은 의사가 듣기를 원하는 "aah"이다. 두 문자열은 모두 a와 h로만 이루어져 있다. a의 개수는 0보다 크거나 같고, 999보다 작거나 같으며, 항상 h는 마지막에 하나만 주어진다.
출력
재환이가 그 병원에 가야하면 "go"를, 아니면 "no"를 출력한다.
예제 입력 1 | 예제 출력 1 |
예제 입력 2 | 예제 출력 2 |
풀이
1. str1 = 재환이가 가장 길게 낼 수 있는 소리
2. str2 = 의사가 듣기 원하는 소리
3. str1이 str2보다 'a' 문자가 많거나 문자열 길이가 많으면 "go"
4. 그렇지 않으면 "no" 출력
코드
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1, str2;
cin>>str1>>str2;
int cnt=0;
int cnt1=0;
for(int i=0; i<str1.length(); i++){
if(str1[i]=='a'){
cnt++;
}
}
for(int i=0; i<str2.length(); i++){
if(str2[i]=='a'){
cnt1++;
}
}
if(cnt>=cnt1||str1.length()==str2.length()){ // keypoint
cout<<"go";
}
else{
cout<<"no";
}
}
|
cs |
'백준 > C++' 카테고리의 다른 글
[BaeKJoon/C++] 백준 1871 c++ 좋은 자동차 번호판 (0) | 2022.03.03 |
---|---|
[BaeKJoon/C++] 백준 10988 c++ 팰린드롬인지 확인하기 (0) | 2022.03.02 |
[BaeKJoon/C++] 백준 11170 c++ 0의 개수 (0) | 2022.02.28 |
[BaeKJoon/C++] 백준 4458 c++ 첫 글자를 대문자로 (0) | 2022.02.27 |
[BaeKJoon/C++] 백준 11945 c++ 뜨거운 붕어빵 (0) | 2022.02.26 |