[ BOJ / Python ] 11478번 서로 다른 부분 문자열의 개수

황승환·2021년 12월 26일
0

Python

목록 보기
63/498

이번 문제는 입력된 문자열을 2중 for문을 사용하여 부분 문자열의 길이를 1씩 늘려가며 모든 가능한 부분 문자열을 생성한 뒤에 이를 모아둔 배열의 중복을 제거하여 해결하였다.

  • 문자열 s를 입력받는다.
  • 부분 문자열을 담아둘 part 배열을 선언한다.
  • 1부터 s의 길이까지 반복하는 i에 대한 for문을 돌린다. 이는 부분 문자열의 길이가 된다.
    -> 0부터 s의 길이-i까지 반복하는 j에 대한 for문을 돌린다.
    --> part에 s[j:j+i]를 추가한다.
  • part의 중복을 제거한다.
  • part의 길이를 출력한다.

Code

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

profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글