반응형
def solution(phone_book):
answer = True
phone_book.sort()
for i in range(0,len(phone_book)-1):
for j in range(i+1,len(phone_book)):
if phone_book[i] in phone_book[j]:
return False
return True
<첫 풀이>
정확성 테스트에서는 20개의 테스트 케이스 중 2개가 실패했고
효율성테스트에서는 4개의 테스트 케이스중 2개가 시간초과가 떴다.
흠...좀 더 고민을 해봐야겠다.
def solution(phone_Book):
phone_Book = sorted(phone_Book)
for p1, p2 in zip(phone_Book, phone_Book[1:]):
if p2.startswith(p1):
return False
return True
<배운 풀이>
고민하다가 서치를 했고 startswitch()를 처음 접하게 되었다.
시작하는 부분이 같은 지 비교해서 같으면 True를 아니면 False를 반환해준다.
B.startswith(A,beg=0,end=len(string))
이런식으로 쓰면 B문자열에서 A문자열을 찾을 수 있다.
반응형
'알고리즘 > 프로그래머스 level 1,2' 카테고리의 다른 글
[파이썬🐍] 프로그래머스 : 행렬의 곱셈 (0) | 2021.04.26 |
---|---|
미완성[파이썬🐍] 프로그래머스 : 위장 (0) | 2021.04.25 |
[파이썬🐍] 프로그래머스 : 약수의 합 (0) | 2021.04.21 |
[파이썬🐍] 프로그래머스 : 최대공약수와 최소공배수 (0) | 2021.04.21 |
[파이썬🐍] 프로그래머스 : 콜라츠 추측 (0) | 2021.04.21 |
댓글