알고리즘 공부/백준

(Python)백준 코딩테스트 연습 - 접두사(1141)

HRuler 2023. 3. 9. 13:47

1. 문제

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

 

1141번: 접두사

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

www.acmicpc.net

2. 풀이

import sys
input = sys.stdin.readline

# n : 단어 개수
n = int(input())

# n_l : 단어 리스트
n_l = []
for i in range(n):
    n_l.append(input().strip())
n_l.sort()

i = 0
while i < len(n_l) - 1:
    if n_l[i+1].startswith(n_l[i]):
        del n_l[i]
    else:
        i += 1
print(len(n_l))

3. 후기

 - 본 문제는 오랜만에 문자열에 관한 문제였다.

 문자열 문제는 역시나 입력받는 부분에서 항상 틀리게 되는것 같다.

 Jupyter notebook을 사용하여 입력을 받을 때는 strip을 신경쓰지 않아도 되지만, sys.stdin.readline을 사용하여 입력을 받게되면 strip을 꼭 사용하는걸 잊지말자.