[문제 위치]
https://www.acmicpc.net/submit/14405/90624111
[문제 풀이]
간단하게 생각하면 된다.
문자열을 순회하여 그 순간 순간 발음이 가능한지 보면 된다.
하나라도 발음이 불가하면 종료 되므로 하드 코딩하여 확인을 통해 발음 여부를 확인하면 된다.
#include <iostream>
#include <string>
using namespace std;
bool canPronounce(string S) {
int i = 0;
int n = S.length();
while (i < n) {
if (i + 1 < n && S[i] == 'p' && S[i + 1] == 'i') {
i += 2;
}
else if (i + 1 < n && S[i] == 'k' && S[i + 1] == 'a') {
i += 2;
}
else if (i + 2 < n && S[i] == 'c' && S[i + 1] == 'h' && S[i + 2] == 'u') {
i += 3;
}
else {
return false;
}
}
return true;
}
int main() {
string S;
cin >> S;
if (canPronounce(S)) {
cout << "YES" << endl;
}
else {
cout << "NO" << endl;
}
return 0;
}
'문제 풀이 > 문제 풀이(BOJ)' 카테고리의 다른 글
[Silver V] 연속인가? - 26517 (0) | 2025.03.02 |
---|---|
[Silver V] 기상캐스터 - 10709 (0) | 2025.03.02 |
[Silver V] 10431 - 줄세우기 (0) | 2025.01.21 |
[Silver V] 그룹 단어 체커 (0) | 2024.12.18 |
연습문제 > 숫자의 표현 (0) | 2024.12.04 |