https://www.acmicpc.net/problem/14405
문제
피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다.
문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문자열인지 아닌지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 문자열 S가 주어진다. 문자열은 알파벳 소문자로 이루어진 문자열이며, 길이는 5000을 넘지 않는다.
출력
문자열 S가 "pi", "ka", "chu"를 이어 붙여서 만들 수 있으면 "YES"를 아니면 "NO"를 출력한다.
#include <iostream>
#include <string>
using namespace std;
int main(void){
string str;
cin >> str;
bool is_not_valid = false;
for(int i = 0;i<str.size();i++){
if(str[i] == 'p'){
if(str[i+1] == 'i'){
i = i + 1;
continue;
}
else if(str[i+1] != 'p'){
cout << "NO";
return 0;
}
}
else if(str[i] == 'k'){
if(str[i+1] == 'a'){
i = i + 1;
continue;
}
else if(str[i+1] != 'k'){
cout << "NO";
return 0;
}
}
else if(str[i] == 'c'){
if(str[i+1] == 'h' && str[i+2] == 'u'){
i = i + 2;
continue;
}
else{
cout << "NO";
return 0;
}
}
else if(str[i] != 'k' || str[i] !='c' || str[i] != 'p'){
cout << "NO";
return 0;
}
}
cout << "YES";
return 0;
}
'알고리즘' 카테고리의 다른 글
백준 18429 근손실 C++ (0) | 2022.06.04 |
---|---|
cin getline과 cin.ignore(), cin.fail(), cin.clear() (0) | 2022.06.04 |
백준 1343 폴리오미노 C++ (0) | 2022.05.29 |
백준 2502 떡 먹는 호랑이 C++ (0) | 2022.05.25 |
백준 11508 C++ (0) | 2022.05.25 |