https://school.programmers.co.kr/learn/courses/30/lessons/42577
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
https://github.com/stellaluminary/Programmers
GitHub - stellaluminary/Programmers
Contribute to stellaluminary/Programmers development by creating an account on GitHub.
github.com
$O(N^2)$를 가지므로 효율성에서 문제가 생긴다.
"""
Method 1
정확성 테스트 : 83.3 (all)
효율성 테스트 : 8.3
91.7/100
"""
def solution(phone_book):
answer = True
phone_book.sort(key=len)
for i in range(len(phone_book) - 1):
for j in range(i + 1, len(phone_book)):
if phone_book[i] == phone_book[j][:len(phone_book[i])]:
return False
return answer
숫자 문자열에 대한 정렬을 진행한 후 전후에 따른 시작 문자열을 판단한다.
def solution(phone_book):
phone_book.sort()
for i,e in zip(phone_book, phone_book[1:]):
if e.startswith(i):
return False
return True