코딩하는 해맑은 거북이

[Python] 접두사 - 백준 본문

코딩테스트

[Python] 접두사 - 백준

#CJE 2023. 8. 27.
해당 글은 백준 1141번 문제 '접두사'을 다룬다.

문제

https://www.acmicpc.net/problem/1141

 

1141번: 접두사

접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 하지만, {hello, hell}, {giant,

www.acmicpc.net

 

설명

해당 문제는 문자열을 다루는 문제로, 입력받은 단어들을 길이순으로 정렬하여 비교하였다.

접두사가 아닌 부분집합의 최대크기를 구하므로, 2중 for문으로 현재 단어가 다음 단어의 접두사라면 결과에 포함시키지 않으면 된다.

 

코드

n = int(input())
words = []
for _ in range(n):
    words.append(input())

words.sort(key=lambda x: len(x))

result = 0
for i in range(n):
    flag = 0
    for j in range(i+1, n):
        if words[i] == words[j][:len(words[i])]:
            flag = 1
    if flag == 0:
        result += 1
print(result)

     

 

 

Comments