CodingTest/Baekjoon

[baekjoon] 백준 11478번(파이썬): 서로 다른 부분 문자열의 개수

JunJangE 2022. 1. 18. 14:46

문제

 

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

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

www.acmicpc.net

알고리즘

- set 자료 구조를 통해 중복을 제거한다.

- 반복문을 통해 부분 문자열을 찾고 부분 문자열이 있다면 temp에 저장한다.

- temp의 길이를 출력한다.

코드

import sys

s = list(map(str, sys.stdin.readline().rstrip("\n")))

temp = set() # set 자료 구조를 통해 중복을 제거

# 반복문을 통해 부분 문자열을 찾는다.
for i in range(len(s)):
    for j in range(len(s) + 1):
        # 부분 문자열이 있으면 temp에 저장
        if s[i:j]:
            temp.add("".join(s[i:j]))

# temp의 길이를 출력
print(len(temp))

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com