https://www.acmicpc.net/problem/11478
아이디어:
1. set에 insert해서 중복 제거
2. string의 substr(n, k) 함수: n부터 k개의 부분 문자열 반환
3. for문 반복 조건을 적절하게 사용
// 11478
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main() {
string S;
string tmp;
set<string> A;
cin >> S;
for (int i = 0; i < S.size(); i++) {
for (int j = 0; i + j <= S.size(); j++) {
tmp = S.substr(j, i);
A.insert(tmp);
}
}
cout << A.size();
return 0;
}
'algorithm' 카테고리의 다른 글
백준 13241번 최소공배수 (0) | 2024.10.20 |
---|---|
백준 1934번 최소공배수 (1) | 2024.10.20 |
백준 1269번 대칭 차집합 (2) | 2024.10.13 |
백준 1764번 듣보잡 (3) | 2024.10.13 |
백준 10816번 숫자 카드 2 (1) | 2024.10.13 |