상세 컨텐츠

본문 제목

[프로그래머스 코딩테스트 kit] 전화번호부

카테고리 없음

by yukmim 2022. 1. 10. 16:12

본문

<1차시도>

테스트 케이스 3개중 2개만 통과

import numpy as np

def solution(phone_book):
    answer = []
    phone_book = np.array(phone_book)
    
    check1 = phone_book[1][0:len(phone_book[1])+1]
    check2 = phone_book[2][0:len(phone_book[2])+1]
    
    if check1 == phone_book[1] and check2 == phone_book[2]:
        answer = False
    elif check1 == phoen_book[1] and check2 != phone_book[2]:
        answer = False
    elif check1 != phone_book[1] and check2 == phone_book[2]:
        answer = False
    elif check1 != phone_book[1] and check2 != phone_book[2]:
        answer = True
        
    return answer

<결과>

 

문제점: 우선 phone_book에 들어오는 숫자열의 개수가 3개가 아님... 그 이상일 수 도있다. 

 

<2차시도>

다른 사람 코드를 보고 작성했다

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

sort로 정리하면 같은 문자열을 갖고 있는 것끼리 정렬된다 어차피 같은 것이 하나만 있어도 false이므로 i+1만 검사하면 되는 간편함 ..

마지막건 실행하지 않아도 되니 len(phone_book)-1을 해줘야한다 아니면 index error발생

 

+ a = [1,2,3,4,5]

   a = a[0:5]

   a = [1,2,3,4,5]

댓글 영역