[프로그래머스] 전화번호 목록(python)

.·2022년 4월 11일

문제 링크 - https://programmers.co.kr/learn/courses/30/lessons/42577



나의 풀이

def solution(phone_book):
    phone_book.sort()
    for i in range(len(phone_book)-1):
        if phone_book[i] in phone_book[i+1][:len(phone_book[i])]:
            return False
    return True
def solution(phone_book):
    phone_book.sort()
    for i in range(len(phone_book)-1):
        if phone_book[i+1].startswith(phone_book[i]):
            return False
    return True
  • 제일 처음에는 위에처럼 풀었다가 얼마전 배운 startswith를 사용해 아래처럼 또 풀어봤다.
  • 우선 정렬을 해주고 반복문을 돌면서 접두사가 되는지 확인하면 된다.
  • level 2 난이도는 아닌거 같다.

다른 풀이

def solution(phone_book):
    answer = True
    hash_map = {}
    for phone_number in phone_book:
        hash_map[phone_number] = 1
    for phone_number in phone_book:
        temp = ""
        for number in phone_number:
            temp += number
            if temp in hash_map and temp != phone_number:
                answer = False
    return answer

0개의 댓글