본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 6550 : 부분 문자열

반응형

https://www.acmicpc.net/problem/6550

 

6550번: 부분 문자열

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

www.acmicpc.net

문자열 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

문자열 s, t를 선언 후 입력받습니다.

📔 풀이과정

t만큼 for loop를 수행합니다. 

t와 s의 현재 문자가 같다면 piv++해주며 tmp에 t[i]를 더해줍니다.

 

📔 정답출력

tmp와 s가 같다면 Yes를 아니라면 No를 출력합니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
string s, t;
int main(){
  while(cin >> s >> t){
    int piv = 0;
    string tmp;
    for(int i = 0; i < t.size(); i++){
      if(piv < s.size() && t[i] == s[piv]) tmp += t[i], piv++;
    }
    if(tmp == s) cout << "Yes\n";
    else cout << "No\n";
  }
}