Hash_전화번호목록_Level2

이하연·2021년 4월 10일
0

2021알고리즘

목록 보기
7/32

문제 링크


1. 내 코드

'''
phone_book	return
["119", "97674223", "1195524421"]	false
["123","456","789"]	true
["12","123","1235","567","88"]	false
'''


# 정렬을 하면 접두어가 같은 부분이 있을때 앞부분분(standard)이 뒷부분(comparison)보다 길이가 짧음
# 그래서 길이를 standard로 설정해두고 슬라이스를 통해서 확인가능

def solution(phone_book):
    phone_book.sort()
    idx = 0

    while idx < len(phone_book)-1 :
        standard = phone_book[idx]
        comparison = phone_book[idx+1]
        n = len(standard)
        if standard[0:n] == comparison[0:n] :
            return False
        idx += 1
    return True


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

결과

로고 로고

평가

  • 정렬을 하면 접두어가 같은 부분이 있을때 앞부분분(standard)이 뒷부분(comparison)보다 길이가 짧음
  • 그래서 길이를 standard로 설정해두고 슬라이스를 통해서 확인가능
  • 문자열 함수 find 사용할 시 문자열 전체에서 맞는 문자를 찾는거니까 접두어 확인이 불가능

git링크

0개의 댓글