[BOJ] 11478. 서로 다른 부분 문자열의 개수 (python)

백준 11478. 서로 다른 부분 문자열의 개수 (파이썬)

 

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

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

www.acmicpc.net

# [BOJ] S3> 11478. 서로 다른 부분 문자열의 개수
import sys
from itertools import combinations
input = sys.stdin.readline

s = input()
idx = [x for x in range(len(s))]
comb = list(combinations(idx, 2))
ans = set()

for c in comb:
    a = s[c[0]:c[1]]
    ans.add(a)

print(len(ans))

ans에 저장하는 과정에서 list로 선언하고 중복 체크한 후 append하니 시간초과

처음부터 set으로 설정하고 add해서 자동으로 중복을 가려지게 하니 통과했다!