728x90
문제 11478번
https://www.acmicpc.net/problem/11478
서로 다르게 하기 위해 중복이 없는 set을 이용한다. 그리고 이중반복문으로 부분 문자열들을 set에 삽입시킨다. 안에 있는 반복문이 끝날 때마다 str변수는 초기화해주어 다음 부분 문자열들을 구해준다. 그렇게 삽입을 다 완료한 set의 크기를 출력한다.
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
string s;
set <string> st;
cin >> s;
string str = "";
for (int i = 0; i < s.size(); i++) {
for (int j = i; j < s.size(); j++) {
str += s[j];
st.insert(str);
}
str = "";
}
cout << st.size();
return 0;
}
728x90
'백준 > C++' 카테고리의 다른 글
[C++] 백준 12789번 - 도키도키 간식드리미 (0) | 2024.06.17 |
---|---|
[C++] 백준 28278번 - 스택 2 (0) | 2024.06.16 |
[C++] 백준 7785번 - 회사에 있는 사람 (1) | 2024.06.13 |
[C++] 백준 14425번 - 문자열 집합 (1) | 2024.06.12 |
[C++] 백준 11721번 - 열 개씩 끊어 출력하기 (0) | 2024.06.12 |