알고리즘

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

hminor 2023. 9. 24. 09:30

 

풀이

 

  • 해당 문제는 문자열 슬라이싱을 활용해서 문제를 해결
  • 단, 슬라이싱을 사용하다 보니 길이를 초과해도 결과값이 나오기에
  • 따로 에러처리는 하지 않고 조건문을 추가해서
  • 길이가 i와 같을 경우면 추가하기로 하고
  • 또 같은 값이 없어야하는 서로 다른 값의 개수를 구하는 문제이기에
  • set안에 추가하는 형식으로 문제 해결

 

import sys
input = sys.stdin.readline
n = input().rstrip('\n')
_set = set()
for i in range(1,len(n)+1):
    for j in range(len(n)):
        if len(n[j:j+i]) != i: break
        else: _set.add(n[j:j+i])
print(len(_set))