문제 정보
백준 ( BOJ ) 11478 서로 다른 부분 문자열의 개수
문제 풀이 : unordered_set
문제 출처 : https://www.acmicpc.net/problem/11478
시작 Thinking
간단하게 해쉬로, 중복 체크만 해주면서 넘어가면 됩니다!.
부분문자열을 가장 간단하게 만든느 방법은
for(int i =0; i < n; i++){
sum = "";
for(int j =i ; j < n; j++){
sum += string[j];
insert sum;
}
}
위와 같습니다~.
코드
#include<iostream>
#include <unordered_set>
#include <string>
using namespace std;
string s;
int sizes;
unordered_set<string> us;
void fun() {
string sum = "";
for (int i = 0; i < sizes; i++) {
sum = "";
for (int j = i; j < sizes; j++) {
sum += s[j];
us.insert(sum);
}
}
}
int main() {
cin >> s;
sizes = s.length();
fun();
cout << us.size();
return 0;
}