https://www.acmicpc.net/problem/14405
문제
길이가 5000이 넘지 않는 알파벳 소문자로 이루어진 문자열 S를 입력받고, S가 "pi", "ka", "chu"로만 이루어져 있는 경우 "YES", 그렇지 않은 경우 "NO"를 출력한다.
풀이
문자열을 입력받고, 인덱스를 기준으로 2, 3개씩 문자열을 잘라서 비교하며 조건을 만족하는지 확인한다.
#include <iostream>
#include <string>
using namespace std;
string s, ans = "YES";
int main() {
cin >> s;
int idx = 0;
while (idx < s.length()) {
if (s.substr(idx, 2) == "pi" || s.substr(idx, 2) == "ka") idx += 2;
else if (s.substr(idx, 3) == "chu") idx += 3;
else {
ans = "NO";
break;
}
}
cout << ans;
}
'Koala - 15기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/Python3] 1463번 : 1로 만들기 (0) | 2024.07.10 |
---|---|
[백준/Rust] 1912번 : 연속합 (0) | 2024.07.09 |
[백준/python3] 1038번 : 감소하는 수 (0) | 2024.07.08 |
[백준/python] 15652번 : n과 m (4) (0) | 2024.07.08 |
[백준/Python] 25602번 캔 주기 (0) | 2024.07.07 |