본문 바로가기

programmers 알고리즘/구현

전화번호 목록 (해시)

programmers.co.kr/learn/courses/30/lessons/42577?language=python3

 

코딩테스트 연습 - 전화번호 목록

전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조

programmers.co.kr

 

def solution(P):
    # S: { "119", "11955" }
    S = set(P)
    for x in P:
        # tmp: "1", "11", "1", "11", "119", "1195" (접두어 추출해서 목록에 있는지 검사)
        tmp = ""
        for c in x:
            tmp += c
            if tmp in S and tmp != x:
                return False
    return True


res = solution(["119", "11955"])
print(res)

 

'programmers 알고리즘 > 구현' 카테고리의 다른 글

기능개발 (스택/큐)  (0) 2020.11.04
주식가격 (스택/큐)  (0) 2020.11.03
베스트앨범 (해시)  (0) 2020.11.03
위장 (해시)  (0) 2020.11.02
완주하지 못한 선수 (해시)  (0) 2020.11.02