본문 바로가기
알고리즘/문자열

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

by 임짠짠 2022. 10. 12.
반응형
 

5052번: 전화번호 목록

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

www.acmicpc.net

 

 

 

코드

import sys
t = int(input())
for _ in range(t):
	n_list = []
	flag = 0
	n = int(input())
	for _ in range(n):
		n_list.append(sys.stdin.readline().rstrip())
	n_list.sort()
	for i in range(n-1):
		if n_list[i+1][:len(n_list[i])] == n_list[i]:
			flag = -1
			break
	if flag == -1:
		print("NO")
	else:
		print("YES")

 

설명

[911, 97625999, 91125426]의 경우 정렬을 시키면 [911, 91125426, 97625999]가 된다.

따라서 입력받은 문자열을 정렬시킨 후 앞,뒤의 문자열끼리만 비교를 해주면 된다.

반응형

댓글