[C++]백준1543번 문서 검색

less than 1 minute read

오늘은 백준1543번 문서 검색 문제를 풀어보도록 하자.

문제가 잘 이해가 되질 않았다. 그냥 겹치지 않게 중복되는 단어가 몇 개 나오냐? 하는 쉬운 문제였다.

문제는 다음과 같다.

                               [접근법]

  1. find함수를 이용하여 pos를 설정한다.
  
  2. txt의 0번부터 pos + input_txt.length() 까지 삭제해준다. 

  3. 갯수를 카운팅한다.
                                     [코드]
#include <iostream>
#include <string>
using namespace std;

int main() {
	string txt, input_txt;
	int answer = 0;

	getline(cin, txt);
	getline(cin, input_txt);

	while (1) {
		int pos = txt.find(input_txt);
		
		if (pos != -1) {
			answer++;
			txt.erase(0, pos + input_txt.length());
		}
		else {
			break;
		}

	}
	cout << answer << '\n';
}