Algorithm/BOJ
[백준/Python] 1141 접두사
Logistic
2024. 8. 26. 17:58
문제
- https://www.acmicpc.net/problem/1141
풀이 & 코드
import sys
input = sys.stdin.readline
#sys.stdin.readline을 사용해 속도 저하로 인한 시간 초과 방지
n = int(input())
str = [(input()).rstrip() for _ in range(n)]
#rstrip : 문자열에 오른쪽 공백이나 인자가된 문자열의 모든 조합 제거
str.sort(key=len)
#다른 단어의 접두사가 되는 단어는 다른단어보다 크기가 작거나 같음
#문자열의 길이가 짧은 순서대로 정렬, 자기 위치보다 뒤에있는 단어와 비교
res = 0
#for문으로 단어 check
for i in range(n):
flag = False
#현재 단어보다 길이가 긴 단어 확인
for j in range(i+1,n):
#현재 단어가 접두사인지 check
if str[i] == str[j][0:len(str[i])]:
flag = True
break
#접두사가 아니면 res cnt
if not flag:
res += 1
print(res)