코딩테스트
[Python] 접두사 - 백준
#CJE
2023. 8. 27. 18:57
해당 글은 백준 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)