혜온의 이것저것

[코딩테스트 고득점 kit] 해시 - 전화번호 목록 (Python) 본문

Algorithm/Programmers

[코딩테스트 고득점 kit] 해시 - 전화번호 목록 (Python)

혜온 :) 2023. 4. 4. 14:29
문제 이해 및 풀이

우선 phone_book을 정렬하여 전체 다 확인하지 않고 바로 다음 번호만 확인할 수 있도록 해준다.

이후 for문을 돌면서 해당하는 숫자로 시작하는지 확인해주었다.

 

최종코드
def solution(phone_book):
    phone_book.sort()
    for i in range(len(phone_book)-1):
        check=phone_book[i]
        if check == phone_book[i+1][:len(check)]:
            return False
    return True

 

다른 사람 코드

숫자의 시작을 확인할 때 나는 숫자의 길이로 슬라이스 해주었는데, startswith라는 함수를 사용하면 더 간단하게 코딩이 가능하다.

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

 

문제출처

프로그래머스 코딩테스트 고득점 kit 

https://school.programmers.co.kr/learn/courses/30/lessons/42577

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

Comments