[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;
}
'문제 풀이 > BOJ 문제 풀이' 카테고리의 다른 글
[BOJ알고리즘, C++]#1764_듣보잡, Set (1) | 2022.12.04 |
---|---|
[BOJ알고리즘, C++]#1269_대칭 차집합, Set (0) | 2022.12.04 |
[BOJ알고리즘, C++]#14425_문자열 집합 (0) | 2022.12.04 |
[BOJ알고리즘, C++]#14889_스타트와 링크, DFS, 깊이 우선 탐색 (0) | 2022.10.24 |
[BOJ알고리즘, C++]#9663_N-Queen 문제, 백 트래킹 (0) | 2022.10.24 |