문제 풀이 전략
1) 문자열 길이 순서대로 정렬lst.sort(key=lambda x: len(x))
정렬 후 -> h, hi, run, hello, rerun , running
6 hello hi h run rerun running
2) 앞에서 부터 비교하면서 내가 다른 단어의 접두사이면 나를 탈락
if lst[j].startswith(lst[i]):
- h -> hi의 접두사 (탈)
2. hi -> ok (합)
3.run -> running 의 접두사(탈)
4.hello -> ok(합)
5.rerun -> ok(합)
6.running -> ok(합)
import sys
input = sys.stdin.readline
n = int(input())
lst = []
for i in range(n):
lst.append(sys.stdin.readline().rstrip())
# 길이별로 정렬
lst.sort(key=lambda x: len(x))
flag = 0
cnt = 0
for i in range(len(lst)):
for j in range(i+1, len(lst)):
if lst[j].startswith(lst[i]):
flag = 1
break
if flag == 1:
flag = 0
continue
cnt +=1
print(cnt)