왜 딕셔너리를 생각한거지,,? 딕셔너리 한번 써보고 싶었나보다
def sol():
dic = {}
N = int(input())
for _ in range(N):
num = input()
dic[len(num)] = dic.get(len(num), []) + [num]
for k1, v1 in dic.items():
for k2, v2 in dic.items():
if k1 >= k2: continue
for val1 in v1:
for val2 in v2:
if val1 == val2[:len(val1)]: return 'NO'
return 'YES'
for _ in range(int(input())):
print(sol())
다른 사람 풀이
리스트, 정렬을 이용해 간단히 풀이가능하다!
def solve(book):
for p1, p2 in zip(book, book[1:]):
if p2.startswith(p1):
return False
return True
T = int(r())
for _ in range(T):
N = int(r())
flag = True
book = []
for _ in range(N):
book.append(input())
book.sort()
if solve(book):
print("YES")
else:
print("NO")
'알고리즘 > 백준 (Pyhthon)' 카테고리의 다른 글
[알고리즘] 백준 14502 연구소 / 파이썬 (0) | 2020.09.24 |
---|---|
[알고리즘] 백준 1600 말이 되고픈 원숭이 / 파이썬 (0) | 2020.09.23 |
[알고리즘] 백준 15988 1, 2, 3 더하기 2 / 파이썬 (0) | 2020.09.22 |
[알고리즘] 백준 3495 아스키 도형 / 파이썬 (0) | 2020.09.22 |
[알고리즘] 백준 2206 벽 부수고 이동하기 / 파이썬 (0) | 2020.09.21 |