백준 11478. 서로 다른 부분 문자열의 개수 (파이썬)
# [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해서 자동으로 중복을 가려지게 하니 통과했다!
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 11724. 연결 요소의 개수 (python / java) (0) | 2023.03.21 |
---|---|
[BOJ] 11725. 트리의 부모 찾기 (python / java) (0) | 2023.03.20 |
[BOJ] 9742. 순열 (python / java) (0) | 2023.03.19 |
[BOJ] 1759. 암호 만들기 (Python / Java) (0) | 2023.03.17 |
[BOJ] 17608. 막대기 (python / Java) (0) | 2023.03.14 |