[Python] 백준 5052번: 전화번호 목록

Jonie Kwon·2022년 5월 16일
0

문제 링크 : https://www.acmicpc.net/problem/5052

풀이

문자열을 정렬할 경우 직전/직후 문자열만 비교하면 다음 문자가 이전 문자를 포함하고 있는지 확인 할 수 있다.
이전 문자의 길이만큼 다음 문자를 잘라서 동일할 경우 NO를 출력

코드

import sys

input = sys.stdin.readline
t = int(input())
for _ in range(t):
    n = int(input())
    number_book = [input().rstrip() for _ in range(n)]
    number_book.sort()
    for x, y in zip(number_book[:-1], number_book[1:]):
        if x == y[:len(x)]:
            print("NO")
            break
    else:
        print("YES")

profile
메모하는 습관

0개의 댓글