알고리즘/구현

[백준]1141 접두사 #문자열

씩씩한 IT블로그 2020. 6. 18. 22:34
반응형

1. 풀이

(1) 다른단어의 접두사가 되는 단어는 접두사X 리스트에서 제거한다. (제거 후 남는 단어의 집합이 곧 접두사x집합)

ex) h,hi,xi, hio, run, hcc, hipo, runn, runc, runni, running

(2) 다른단어의 접두사가 되는 단어는 항상 다른단어보다 크기가 작거나 같다. 따라서 문자열의 길이가 짧은 순서대로 정렬을 하고, 자기 위치보다 뒤에있는 단어와만 비교한다.

2. 소스코드

N=int(input())
L=[]
for i in range(N):
    word=input()
    L.append(word)

L.sort(key=len)
ans=0
for i in range(N):
    nowWord=L[i]
    isHead=False
    for j in range(i+1,N):
        try:
            if L[j].index(nowWord)==0:
                isHead=True
                break
        except:
            continue
    if not isHead:
        #print(nowWord)
        ans+=1
print(ans)

 

반응형