Leta Learns

[Python] 백준 5052번 - 전화번호 목록 본문

Coding/백준

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

leta 2022. 2. 21. 11:12

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

 

5052번: 전화번호 목록

첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가

www.acmicpc.net

 

ㅋㅋㅋㅋ아무 생각 없이 for문 사용해서 풀었더니 4중 for문이 나왔다 껄껄..

당연히 시간초과 났고 ㅋㅋ 일이 있어서 나가야 했기 때문에 고치지 않고 놔두었다가 오늘 다시 풀었다.

 

다른 사람들 풀이를 보니 boolean 연산자를 사용하길래 나도 참고하여 풀었다.

startswith 메소드 파이썬 처음 공부할 때 보고 실제로 쓰는 건 처음인데 이런 문제에 꽤나 유용한 것 같다.

 

import sys
input = sys.stdin.readline

t = int(input())
for _ in range(t):
    n = int(input()) #전화번호 수
    tele = [input().strip() for _ in range(n)]
    tele.sort()
    cons = True #consistency
    for i in range(1,n):
        if tele[i].startswith(tele[i-1]):
            cons = False
            break
    if cons:
        print("YES")
    else:
        print("NO")

 

Comments