본문 바로가기
백준 코딩테스트/실버

11478) 서로 다른 부분 문자열의 개수 (C++)

by xortl98 2022. 5. 17.
728x90

 출처 

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

 

11478번: 서로 다른 부분 문자열의 개수

첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다.

www.acmicpc.net

 내 풀이 

#include<iostream>
#include<set>

using namespace std;

set<string> sets;
string input;
string str;
int main()
{


	cin >> input;
	for (int i = 0; i < input.size(); i++)
	{
		for (int j = i; j < input.size(); j++)
		{
			str += input[j];
			sets.insert(str);
		}
		str = "";
	}

	cout << sets.size();
}

 해설

중복을 허용하지 않는 set을 이용하면 풀리는 문제였다. 

 느낀점 

set????????????