문제 링크: https://www.acmicpc.net/problem/1141
1141번: 접두사
접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 하지만, {hello, hell}, {giant,
www.acmicpc.net
하이고 길이별로 sort를 해야할지, 그냥 오름차순 sort를 해야할지 고민하다가 후자를 택한게 오랜 시간을 잡아먹게 한 듯 하다..
Key point
접두사는 비교 단어들보다 항상 짧아야하므로 길이순으로 정렬했어야 한다.
N = int(input())
words = []
for _ in range(N):
words.append(input())
words = sorted(words, key=lambda x: len(x))
res = 0
for i in range(N):
flag = False
for j in range(i+1, N):
if words[i] == words[j][0:len(words[i])]:
flag = True
break
if not flag:
res += 1
print(res)'1일 1솔' 카테고리의 다른 글
| [프로그래머스] NULL 처리하기 (SQL) (0) | 2023.12.27 |
|---|---|
| [백준] 16206: 롤케이크 (Python, 파이썬) (0) | 2023.09.27 |
| [백준] 17615번: 볼 모으기 (Python, 파이썬) (0) | 2023.09.24 |
| [백준] 4889번: 안정적인 문자열 (0) | 2023.09.22 |
| [백준] 9009번: 피보나치 (Python, 파이썬) (0) | 2023.09.21 |