[프로그래머스_해시_Lv2] 전화번호 목록

Lee, Chankyu·2022년 1월 5일
0
post-thumbnail

전화번호 목록

문제 링크

나의 풀이

def solution(phone_book):
    answer = True
    phone_dic = {}

    for phone_number in phone_book:
        phone_dic[phone_number] = 0

    for phone_number in phone_book:
        temp = ''
        for num in phone_number:
            temp += num
            if temp in phone_dic and temp != phone_number:
                return False
    return answer
  • 전화번호부(phone_book)의 전화번호(phone_number)를 phone_dic 딕셔너리의 키 값으로 설정해 준다.
  • temp변수에 반복문으로 전화번호(phone_number) 한 자리씩 넣어주면서, if문(temp가 phone_dic의 key값과 일치하면서 temp와 phone_number가 다를때의 조건)을 통해 True/False 판단한다.

다른 사람의 풀이

def solution(phoneBook):
    phoneBook = sorted(phoneBook)

    for p1, p2 in zip(phoneBook, phoneBook[1:]):
        if p2.startswith(p1):
            return False
    return True
  • 해쉬를 사용한 풀이는 아니지만 startswith 메서드를 사용한 깔끔한 풀이이다. 자주 사용하지 않으면 잊어버려서 가져와본 답안이다!
profile
Backend Developer - "Growth itself contains the germ of happiness"

0개의 댓글