본문 바로가기

Algorithm/Baekjoon BOJ

[백준][C++] 11478 : 서로 다른 부분 문자열의 개수

반응형

https://www.acmicpc.net/problem/11478

 

11478번: 서로 다른 부분 문자열의 개수

첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다.

www.acmicpc.net

 

 

 

 


- 문제

 

  문자열이 주어지면 그 문자열의 부분 문자열 중에서 서로 다른 문자열의 개수를 구하는 문제다.

 

 


- 해설

 

  substr와 map<string,int>를 이용해서 쉽게 풀 수 있다.

 

 


- 풀이

#include <iostream>
#include <string>
#include <map>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    string s;
    map<string, int> m;
    cin >> s;
    for (int i = 0; i < s.size(); i++)
    {
        for (int j = 1; j + i <= s.size(); j++)
        {
            m[s.substr(i, j)]++;
        }
    }
    cout << m.size();
    return 0;
}

 


- 새롭게 알게 된 점

 

X

반응형

'Algorithm > Baekjoon BOJ' 카테고리의 다른 글

[백준][C++] 1358 : 하키  (0) 2022.10.21
[백준][C++] 2477 : 참외밭  (0) 2022.10.21
[백준][C++] 1269 : 대칭 차집합  (0) 2022.10.21
[백준][C++] 1764 : 듣보잡  (0) 2022.10.21
[백준][C++] 10816 : 숫자 카드 2  (0) 2022.10.14