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

alsry._.112·2023년 9월 22일
0

백준

목록 보기
62/102

🔗문제 풀러가기
단계별로 풀어보기 단계 14의 6번째 문제이다.

문제 분석

Set 컨네이너를 이용해 문제를 해결하였다.

코드

#include <iostream>
#include <set>
using namespace std;

int main()
{
    string input;
    cin >> input;
    set<string> set;

    string str = "";

    for (int i = 0; i < input.size(); i++)
    {
        for (int j = i; j < input.size(); j++)
        {
            str += input[j];
            set.insert(str);
        }
        str = "";
    }

    cout << set.size();
}

해석

  1. input을 입력받는다.
  2. 입력받은 input의 길이만큼 아래의 작업을 반복한다.
  • i부터 input의 길이만큼 아래의 작업을 반복한다.
    • string형 str에 입력받은 input의 j번째 인덱스의 문자를 추가한다.
    • set에 str을 추가한다.
  • str을 초기화한다.
  1. 이렇게 해서 얻은 set의 길이를 출력하면 끝!
profile
소통해요

0개의 댓글