백준 #5052 전화번호 목록
코드
import sys
# sys.stdin = open("input.txt")
input = sys.stdin.readline
T = int(input())
for _ in range(T):
n = int(input())
arr = sorted([input().rstrip() for _ in range(n)])
answer = 1
for i in range(1, n):
if arr[i - 1] != arr[i][:len(arr[i - 1])]:
answer += 1
if answer == n:
print("YES")
else:
print("NO")
풀이
정렬 기준을 길이가 아닌 사전순으로 한 후에 인접한 번호들을 비교했다.
모든 인접한 두 번호들 중 앞 번호가 뒷 번호의 접두어가 되지 않는다면 일관성이 유지된다.
댓글남기기