728x90
반응형
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/42577
풀이과정:
def solution(phone_book):
phone_book.sort()
set = { i for i in phone_book}
for i in range(1,len(phone_book)):
if set[i-1] in set[i]:
return False
return True
이렇게 하려했는데 set 함수는 슬라이싱이 안됨
def solution(phone_book):
phone_book.sort()
list = [ i for i in phone_book]
for i in range(1,len(phone_book)):
if list[i-1] in list[i]:
return False
return True
# 95점 풀이 1개 틀림,,
# 이유 중간에서 겹쳐도 false 나옴
정답 풀이:
def solution(phone_book):
phone_book.sort()
for i in range(1,len(phone_book)):
if phone_book[i-1] == phone_book[i][:len(phone_book[i-1])]:
return False
return True
# 100점
# 필요없는 리스트 컴프리헨션 삭제
# 중간에 들어가있는건 제외
다른 풀이
# 위에 if 문을 밑에꺼로 대체 가능
if p2.startswith(p1):
return False
True 나 False 를 반환한다.
반응형
댓글