어흥
[백준 14405] 피카츄 (C++) 본문
728x90
반응형
문제 링크: https://www.acmicpc.net/problem/14405
1. 주의할 점
- 3가지 단어 말고 다른 문자로 시작해도 NO 출력시켜야한다.
2. 구현
- Idx=0을 기준으로 입력받은 String에서 Idx번째 문자가 셋중 하나와 같으면 나머지 또한 같은지 비교한다.
- 셋과 모두 다르다면 While문을 빠져오도록 설계한다.
#include <iostream>
#include <string>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);
bool avail = true;
string str, s;
cin >> str;
int idx = 0;
while (idx < str.size()) {
if (str[idx] == 'p') {
s = str.substr(idx, 2);
if ("pi" == s)
idx += s.size();
else{
avail = false;
break;
}
}
else if (str[idx] == 'k') {
s = str.substr(idx, 2);
if ("ka" == s)
idx += s.size();
else {
avail = false;
break;
}
}
else if (str[idx] == 'c') {
s = str.substr(idx, 3);
if ("chu" == s)
idx += s.size();
else {
avail = false;
break;
}
}
else {
avail = false;
break;
}
}
if (avail) cout << "YES";
else cout << "NO";
system("pause");
return 0;
}
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 2079, 1509] 팰린드롬 / 팰린드롬 분할 (C++) (0) | 2020.03.17 |
---|---|
[백준 1167] 트리의 지름 (C++) (0) | 2020.03.16 |
[백준 2151] 거울 설치 (C++) (0) | 2020.03.16 |
[백준 9207] 페그 솔리테어 (C++) (0) | 2020.03.15 |
[백준 1477] 휴게소 세우기 (C++) (0) | 2020.03.15 |
Comments