https://www.acmicpc.net/problem/5052
파이썬의 리스트에 전화번호를 String 형태로 append해주고 sort를 하면 길이가 짧은 순서대로 정렬이 됩니다. (예: [123, 12345, 253, 8897, 88958])
리스트가 arr이라고 할 때 리스트를 처음부터 n-1까지 순회하며 arr[i]가 arr[i+1]의 접미사인지 확인하면 됩니다.
(주의: 포함이 돼있는지 확인하는게 아니라 접미사인지 확인하는 것입니다. 이 부분을 놓쳐서 100%까지 갔는데 틀렸습니다가 떳습니다.)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#
# Created by MinSeo on 2022/02/18.
# Copyright ⓒ 2021 MinSeo Shin. All rights reserved.
#
tt = int(input())
for t in range(tt):
ii = int(input())
arr = []
for i in range(ii):
arr.append(input())
arr.sort()
torf = True
for i in range(len(arr)-1):
if arr[i] == arr[i+1][:len(arr[i])]:
torf = False
break
if torf:
print('YES')
else:
print('NO')
|
cs |
'백준 풀이' 카테고리의 다른 글
백준 1208 - 부분 수열의 합 2 (Python) (0) | 2022.07.21 |
---|---|
백준 7453 - 합이 0인 네 정수 (Python) (0) | 2022.02.13 |
백준 11657 - 합이 0인 네 정수 (Python) (0) | 2022.02.09 |
백준 17298 - 오큰수 (Python) (0) | 2022.02.07 |
백준 11047 - 동전0 (0) | 2021.03.28 |