문제 풀이/BOJ 문제 풀이
[BOJ알고리즘, C++]#11478_서로 다른 부분 문자열, Set
Hardii2
2022. 12. 4. 20:35
[BOJ 알고리즘, C++] #11478_서로 다른 부분 문자열, Set
BOJ 알고리즘 문제 풀이, 11478_서로 다른 부분 문자열 문제
Map 컨테이너를 활용하여 문자열이 갖는 총 부분 문자열을 계산합니다.
문제


풀이
- Set 컨테이너를 사용하면 아주 간단하게 풀 수 있는 문제입니다.
- Set 컨테이너의 특징을 간략하게 설명하자면, 중복이 없는 "Key" 값을 원소로 갖는 자료구조입니다.
- Map과 달리 Set은 Key 값이 곧 Value이며, 간단하게 풀이하면, 중복 없는 항목들을 갖는 컨테이너로 볼 수 있습니다.
코드
#include <iostream>
#include <string>
#include <set>
using namespace std;
// Set 사용
int main()
{
string str;
set<string> s;
cin >> str;
string tmp;
for(int i=0; i<str.size(); i++)
{
for(int j=i; j<str.size(); j++)
{
tmp += str[j];
s.insert(tmp);
}
tmp.clear();
}
cout << (int)s.size() << endl;
}