반응형
- 입력 데이터의 개수가 주어지지 않으므로, 무한루프로 돌다가 공백이 입력되면 break
- 문자열 t의 각 문자들을 한 번씩 순회하며 s가 가진 문자가 나올 때마다 idx를 높여준다.
- 순회 종료 후 idx와 s의 길이가 같으면 순서대로 모두 존재하는 것이므로 Yes.
C++
#include <iostream>
using namespace std;
int main(void)
{
ios::sync_with_stdio(0);
cin.tie(0);
string S, s, t;
/*************************************
S : 전체 문자열
s, t : 공백 기준으로 잘라낸 문자열 (문자열 s, t의 길이 < 100,000)
**************************************/
while (1)
{
getline(cin, S);
if (S == "") break;
int sp = S.find(" "), idx = 0;
s = S.substr(0, sp);
t = S.substr(sp + 1, S.size());
for (char c : t)
if (c == s[idx])
idx++;
cout << (idx == s.size() ? "Yes\\n" : "No\\n");
}
}
반응형
'Algorithm > Greedy Algorithm' 카테고리의 다른 글
[BOJ 2891] S5 카약과 강풍 {C++} (0) | 2022.06.29 |
---|---|
[ BOJ 6550 ] S5 UCPC는 무엇의 약자일까? { C++ } (0) | 2022.06.28 |
[ BOJ 3135 ] S5 라디오 { C++ } (0) | 2022.06.26 |
[ BOJ 2828 ] S5 사과 담기 게임 { C++ } (0) | 2022.06.25 |