bit가 눈 앞에서 왔다갔다

Py) 프로그래머스 42577 본문

Algorithm/Prob

Py) 프로그래머스 42577

헬린인형 2022. 1. 21. 11:10

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

 

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

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

programmers.co.kr

 

시간초과 떠서 효율성테스트 2개를 통과하지 못했다.

def solution(phone_book):
    answer = True
    num = phone_book
    for i in num:
        size = len(i)
        for j in num:
            if i == j: 
                continue
            if i == j[:size]:
                print(j[:size])
                answer = False
                return answer
            
    return answer

 

def solution2(phone_book):
    answer = True
    phone_book.sort()
    for i in range(len(phone_book)-1):
        size = len(phone_book[i])
        if phone_book[i] == phone_book[i+1][:size]:
            answer = False
            return answer
    
    return answer

2중 fo문 없앰

 

*

str.startswith() 로 하면 바로 끝난다..

반응형

'Algorithm > Prob' 카테고리의 다른 글

Py) 프로그래머스 43162  (0) 2022.01.24
Py) 프로그래머스 43105  (0) 2022.01.21
Py) 프로그래머스 42860  (0) 2022.01.19
Py) 프로그래머스 42840  (0) 2022.01.17
Py) 프로그래머스 49191  (0) 2022.01.15
Comments