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")
