풀이
- 해당 문제는 문자열 슬라이싱을 활용해서 문제를 해결
- 단, 슬라이싱을 사용하다 보니 길이를 초과해도 결과값이 나오기에
- 따로 에러처리는 하지 않고 조건문을 추가해서
- 길이가 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))
'알고리즘' 카테고리의 다른 글
[백준, 파이썬, 15652번] N과 M (4) (0) | 2023.09.25 |
---|---|
[백준, 파이썬, 7795번] 먹을 것인가 먹힐 것인가 (0) | 2023.09.24 |
[백준, 파이썬, 1158번] 요세푸스 문제 (0) | 2023.09.23 |
[백준, 파이썬, 2553번] 마지막 팩토리얼 수 (0) | 2023.09.23 |
[백준, 파이썬, 4158번] CD (0) | 2023.09.22 |