코드는 Swift/Python으로 작성하였습니다.
제가 직접 작성한 코드라 최적의 코드가 아닐 수 있음을 알려드립니다. 🐹
문제는 저작권 관련 문제가 있을 수 있어서 적어두지 않았습니다.
이 문제는 swift언어가 제공되지 않았는데 그냥 python코드를 기준으로 swift로 바꾸기만 해보았습니당
어차피 for문 2번 돌려야하지 않을까? ... 흠
대신 접두어인 경우가 한번이라도 있으면 바로 false return 시키고 끝내자 !
import Foundation
func solution(phone_book: [String]) -> Bool{
var mybook = phone_book
mybook.sort{$0.count < $1.count}
for i in 0..<mybook.count {
for k in i+1..<mybook.count {
if mybook[k].hasPrefix(mybook[i]) {
return false
}
}
}
return true
}
def solution(phone_book):
phone_book.sort(key=len)
for i in range(0,len(phone_book)):
for k in range(i+1,len(phone_book)):
if phone_book[k].startswith(phone_book[i]):
return False
return True