본문 바로가기
알고리즘/프로그래머스 level 1,2

[파이썬🐍] 프로그래머스 : 전화번호 목록

by 코딩개미뚠뚠 2021. 4. 23.
반응형
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문자열을 찾을 수 있다.

반응형

댓글