728x90
반응형
https://www.acmicpc.net/problem/5052
5052번: 전화번호 목록
첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가
www.acmicpc.net
문제 해결
- 최대한 비교를 적게 하기 위해 문자열을 올림차순으로 정렬해서 이전 것이 다음 원소 안에 포함되는 것이 있는지 확인하면 된다는 것을 쉽게 알 수 있다.
CODE
t = int(input())
for _ in range(t):
n = int(input())
result = []
for i in range(n):
x = str(input().rstrip())
result.append(x)
result.sort()
for i in range(n-1):
if result[i] == result[i+1][:len(result[i])]:
print('NO')
break
else:
print('YES')
+) 위의 문제는 트라이(trie)를 이용해서 풀 수 있다. 하지만 굳이 쓸 필요가 없기 때문에 여기서 마친다.
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 1238 파티 (0) | 2023.04.09 |
---|---|
[python] 백준 2660 회장뽑기 (0) | 2023.04.09 |
[python] 백준 7570 줄 세우기 (0) | 2023.04.08 |
[python] 백준 2457 공주님의 정원 (0) | 2023.04.08 |
[python] 백준 2170 선 긋기 (0) | 2023.04.08 |
댓글