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

2023. 6. 24. 11:04·[게임 개발] 알고리즘 공부/백준

링크

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

 

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

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

www.acmicpc.net

문제


입출력 예제


코드

#include <string>
#include <unordered_set>
#include <iostream>

using namespace std;


int main(void)
{
	unordered_set<string> us;
	string s;
	cin >> s;

	for (int i = 0; i < s.size(); i++)
	{
		for (int j = 1; j <= s.size() - i; j++)
		{
			us.insert(s.substr(i, j));
		}
	}

	cout << us.size() << endl;

	return 0;
}


풀이

  • unordered_set을 이용
  • for문을 이용해서 모든 문자를 순차적으로 불러들인다.
  • 이후, 내부의 두번째 for문을 호출해서 substr 함수를 사용해 i번째 문자부터 j만큼의 길이의 문자열을 us에 삽입한다.
    이때 set은 중복을 허용하지 않으므로 최초로 삽입된 문자만 삽입된다.
  • us에 삽입 되어있는 문자열의 개수를 출력한다.
저작자표시 (새창열림)

'[게임 개발] 알고리즘 공부 > 백준' 카테고리의 다른 글

[C++] 11660번: 구간 합 구하기 5  (0) 2023.06.29
[C++] 2015번: 수들의 합 4  (0) 2023.06.28
[C++] 2866번: 문자열 잘라내기  (0) 2023.06.27
[C++] 1253번: 좋다  (0) 2023.06.26
[C++] 2002번: 추월  (0) 2023.06.25
'[게임 개발] 알고리즘 공부/백준' 카테고리의 다른 글
  • [C++] 2015번: 수들의 합 4
  • [C++] 2866번: 문자열 잘라내기
  • [C++] 1253번: 좋다
  • [C++] 2002번: 추월
람팜팜~
람팜팜~
:)
  • 람팜팜~
    RumPumPum
    람팜팜~
  • 전체
    오늘
    어제
    • 전체 (123)
      • 🎵 일상 (2)
      • JAVA (5)
        • 김영한의 자바 입문 (3)
      • JavaScript (12)
      • ---------------------------.. (0)
      • [게임 개발] 포트폴리오 (2)
        • RPG (1)
        • 슈터-플랫포머 (1)
      • [게임 개발] 개발 일지 (28)
        • RPG (25)
        • TopDownProject (3)
      • [게임 개발] 언리얼엔진 공부 (9)
        • 이득우의 언리얼 프로그래밍 Part.1 (6)
        • 이득우의 언리얼 프로그래밍 Part.2 (1)
        • 개인 메모 (2)
      • [게임 개발] 알고리즘 공부 (60)
        • 프로그래머스 (8)
        • 백준 (52)
        • 개인 메모 (0)
      • [게임 개발] CPP 공부 (2)
        • 이것이 C++ 이다 (1)
        • Effective C++ (0)
        • Effective Modern C++ (0)
        • 홍정모 그래픽스 새싹코스 (1)
      • [게임 개발] CS 공부 (3)
  • 블로그 메뉴

    • 링크

      • Github
    • 공지사항

    • 인기 글

    • 태그

      해시
      데드락
      그리디
      스레드
      역참조
      투포인터
      dp
      누적합
      context switching
      dfs
      우선순위 큐
      문자열
      브루트포스
      메모리구조
      프로세스
      슬라이딩 윈도우
      참조자
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    람팜팜~
    [C++] 11478번: 서로 다른 부분 문자열의 개수
    상단으로

    티스토리툴바