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을 꼭 사용하는걸 잊지말자.
'알고리즘 공부 > 백준' 카테고리의 다른 글
(Python)백준 코딩테스트 연습 - 삼각형으로 자르기(1198) (0) | 2023.03.11 |
---|---|
(Python)백준 코딩테스트 연습 - 부분수열의 합(1182) (0) | 2023.03.10 |
(Python)백준 코딩테스트 연습 - 한 줄로 서기(1138) (0) | 2023.03.08 |
(Python)백준 코딩테스트 연습 - 친구(1058) (0) | 2023.03.03 |
(Python)백준 코딩테스트 연습 - 수열의 합(1024) (0) | 2023.03.01 |