https://www.acmicpc.net/problem/11478
๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, S์ ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋ถ๋ถ ๋ฌธ์์ด์ S์์ ์ฐ์๋ ์ผ๋ถ๋ถ์ ๋งํ๋ฉฐ, ๊ธธ์ด๊ฐ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ผ ํ๋ค.
์๋ฅผ ๋ค์ด, ababc์ ๋ถ๋ถ ๋ฌธ์์ด์ a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc๊ฐ ์๊ณ , ์๋ก ๋ค๋ฅธ๊ฒ์ ๊ฐ์๋ 12๊ฐ์ด๋ค.
for๋ฌธ์ ์ด์ฉํด ์ฒซ๋ฒ์งธ ๋ฌธ์๋ก ์์ํ๋ ๋ฌธ์์ด, ๋๋ฒ์งธ ๋ฌธ์๋ก ์์ํ๋ ๋ฌธ์์ด ๋ฑ์ ์์๋๋ก ๊ตฌํ์ฌ set์ ์ถ๊ฐํ๋ค. ์ค๋ณต์ฒ๋ฆฌ๋ฅผ ์ํด set์ ์ด์ฉํ๊ณ , set์ ํฌ๊ธฐ์์ 1์ ๋บ ๊ฐ์ ๋ฆฌํดํ๋ค.
S= input()
len_S=len(S)
l=set()
for i in range(len_S):
for j in range(i, len_S):
l.add(S[i:j])
print(len(l)-1)
N+(N-1)+(N-2)+...1.. ์ด๋ฏ๋ก ๋ฑ์ฐจ์์ด
#import sys#input = sys.stdin.readline#S= input()#len_S=len(S)#l=[]#for i in range(len_S):#ย ย ย ย for j in range(i, len_S):#ย ย ย ย ย ย ย ย if S[i:j] not in l:#ย ย ย ย ย ย ย ย ย ย ย ย l.append(S[i:j])#print(len(l)-1)
์ค๋ณต์ฒ๋ฆฌ๋ฅผ not in l๋ก ํด์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค. set์ ์ด์ฉํด ํด๊ฒฐํจ
l[0:0], l[1:1]์ ๊ณต๋ฐฑ ' '์ด ๋ฐํ๋๋ค.