[백준] 11478 서로 다른 부분 문자열의 개수

leejihun·2022년 5월 24일
0

알고리즘

목록 보기
8/50

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


#include<iostream>
#include<map>
#include<string>
using namespace std;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	map<string, int> m1;
	string s1;
	cin >> s1;
	
	int iSize = s1.length();
	
	for (int i = 0; i < iSize; i++)
	{
		for (int j = 1; j < iSize-i+1; j++)
			m1.emplace(s1.substr(i,j), 1);
	}
	cout << m1.size();


}

map과 string의 substr ( 문자열 자르기) 를 사용해서 해결 하였다.
map이 아니라 set을 사용하는게 나았다.

sort가 필요없다면 unordered 를 사용하자..

profile
U+221E

0개의 댓글