programming

프로그래밍 퀴즈 - 프로그래머스 전화번호 파이썬 풀이 및 해석


by Kitle · 2020. 07. 24.



전화번호 목록

전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.

퀴즈 보기 - 출처 프로그래머스 : https://programmers.co.kr/learn/courses/30/lessons/42577

풀이 코드 :  github에서 보기


솔루션

for 문으로 모든 아이템 체크하며,  다른 아이템의 시작과 일치하는지 체크하면 됨.

python의 startswith를 활용하면 가능.

입력값이 list, int 이나 startswith는 문자열로 변환하여 비교 할 필요가 있습니다.

 False 인 경우 나머지를 비교할 필요 없으므로 바로 return 시키고 끝내면 됩니다.


풀이

def solution(phone_book):
    answer = True
    for item in phone_book:
        for temp in phone_book:
            if item != temp and str(temp).startswith(str(item)):
                return False
    return answer

phone_book = [12, 123, 1235, 567, 88]
print(solution(phone_book))