본문 바로가기

백준/실버

[백준 6550번] 부분 문자열 (C++)

문제링크 : https://www.acmicpc.net/problem/6550

 

6550번: 부분 문자열

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다.

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MAX 987654321
#define pii pair <int, int>

int main(void) {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    string s, t;
    while(cin >> s >> t)
    {
        int index = 0;
        for(int i=0; i<t.size(); i++)
        {
            if(s[index] == t[i])
            {
                index++; //다음 값 탐색
            }
        }
        if(index == s.size())  //찾은 값들의 사이즈가 문자열 s의 사이즈와 같다면
        {
            cout << "Yes" << "\n";
        }
        else
        {
            cout <<"No"<<"\n";
        }
    }
    return 0;
}

입력받는 갯수가 정해져 있지 않은 문제이다.

while문에 입력을 넣어줌으로써 해결했다.