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

zsunny·2022년 7월 19일
1

📌 문제

💯 정답

• 방법 1. 틀림.. 슬라이싱 범위을 잘못 구현

import sys
input = sys.stdin.readline

s = input().rstrip()
part = set()
for i in range(len(s)):
    for j in range(1, len(s)):      # i로 고쳐야 함
        part.add(s[i:j])
# print(part)
print(len(part))

• 방법 2. 정답!!

import sys
input = sys.stdin.readline

s = input().rstrip()
part = set()
for i in range(len(s)):
    for j in range(i, len(s)):
        part.add(s[i:j+1])
print(part)
print(len(part))

📝 설명

• 중복을 제거한 부분 문자열을 만들어야 하므로 set을 사용한다.
• 부분 문자열은 이중 for문과 문자열 슬라이싱을 활용한다.
• 문자열의 개수는 len을 이용해 출력한다.
profile
매일 성장하는 예비 웹 개발자 🌱

0개의 댓글