본문 바로가기
코딩테스트

[백준] 1141번 접두사 - Python

by CuckooBird 2023. 2. 20.

백준 실버3 1141번 접두사 - Python

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

 

1141번: 접두사

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

www.acmicpc.net


코드

맞았습니다가 뜬 코드입니다. - 메모리 31256KB | 시간 40ms | 코드 길이 355B

import sys
input = sys.stdin.readline
N = int(input().rstrip())
word = list()
for i in range(N):
    word.append(input().rstrip())
word.sort(key=len)
ans = 0
for i in range(N):
    flag = False
    for j in range(i+1, N):
        if word[i] == word[j][:len(word[i])]:
            flag = True
            break
    if not flag:
        ans += 1
print(ans)

문자열을 길이 순으로 정렬한 후에 앞 문자열이 뒷 문자열에 앞 문자열의 길이만큼이 같은지를 확인 후에 flag에 접두사집합이 되는지 안 되는지를 정하여 ans에 값을 줍니다.


Search 🔍

앞 문자열과 뒷 문자열을 비교할 때 이중 리스트를 저런식으로 비교할수도 있구나를 느꼈습니다.


후기

폰을 바꿔서 기분 좋긴한데 사진이랑 연락처가 날라가버렸습니당~ㅎ

어차피 지금은 필요없으니 나중에 천천히 번따해야겠군요.. 😂