https://www.acmicpc.net/problem/11478
Disjoint한 subset의 개수를 찾는 문제.
정말 단순하게 subStr을 이용해서 vector로 중복제거를 해주었다.
#include <iostream>
#include <vector>
#include <algorithm>>
using namespace std;
int main(){
string str;
vector<string> subStrVec;
cin >> str;
for(int i=1; i<= str.size(); i++){
for(int j=0; j <= str.size() - i; j++){
subStrVec.push_back(str.substr(j,i));
}
}
sort(subStrVec.begin(), subStrVec.end());
subStrVec.erase(unique(subStrVec.begin(), subStrVec.end()), subStrVec.end());
cout << subStrVec.size();
}
그닥 효율적이지는 않은 코드,,,
< 백준 BaekJoon : 1735번 분수 합> C++ (0) | 2024.01.10 |
---|---|
< 백준 BaekJoon : 1934번 최소공배수 > C++ (0) | 2023.10.16 |
< 백준 BaekJoon : 7785번 회사에 있는사람> C++ (0) | 2023.08.04 |
< 백준 BaekJoon : 19532번 수학은 비대면강의입니다.> C++ (0) | 2023.08.04 |
< 백준 BaekJoon : 9506번 약수들의 합> C++ (0) | 2023.08.03 |
댓글 영역