hwooo
BOJ (C/C++) 11478번: 서로 다른 부분 문자열의 개수 본문
https://www.acmicpc.net/problem/11478
11478번: 서로 다른 부분 문자열의 개수
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다.
www.acmicpc.net


풀이
주어진 문자열을 입력 받아 해당 문자열의 부분 문자열을 set에 넣어주어 서로 다른 문자열의 개수를 구함.
코드
#include <stdio.h>
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
set <string> S;
string s;
cin >> s;
for (int i = 1; i <= s.size(); i++) {
for (int j = 0; j <= s.size() - i; j++) {
S.insert(s.substr(j, i));
}
}
printf("%d", S.size());
return 0;
}
'Study > Algorithm' 카테고리의 다른 글
BOJ (C/C++) 10953번: A+B - 6 (0) | 2022.11.24 |
---|---|
BOJ (C/C++) 10817번: 세 수 (0) | 2022.11.24 |
BOJ (C/C++) 1269번: 대칭 차집합 (0) | 2022.11.23 |
BOJ (C/C++) 1764번: 듣보잡 (0) | 2022.11.23 |
BOJ (C/C++) 2805번: 나무 자르기 (0) | 2022.11.22 |