import java.util.Arrays;
class Solution {
public boolean solution(String[] phoneBook) {
Arrays.sort(phoneBook);
for (int i=1; i<phoneBook.length; i++) {
if (phoneBook[i].startsWith(phoneBook[i-1])) {
return false;
}
}
return true;
}
}
sort로 정렬한 다음, 뒤의 값만 비교하도록 했다
효율성 테스트
정확성 테스트
테스트 1 〉 통과 (0.27ms, 52.8MB)
테스트 2 〉 통과 (0.26ms, 51.8MB)
테스트 3 〉 통과 (0.25ms, 53.3MB)
테스트 4 〉 통과 (0.23ms, 52.9MB)
테스트 5 〉 통과 (0.22ms, 51.9MB)
테스트 6 〉 통과 (0.24ms, 52.2MB)
테스트 7 〉 통과 (0.21ms, 52MB)
테스트 8 〉 통과 (0.24ms, 52.3MB)
테스트 9 〉 통과 (0.22ms, 52.1MB)
테스트 10 〉 통과 (0.26ms, 52.1MB)
테스트 11 〉 통과 (0.28ms, 52.3MB)
테스트 12 〉 통과 (0.22ms, 51.5MB)
테스트 13 〉 통과 (0.23ms, 52.4MB)
테스트 14 〉 통과 (3.55ms, 53.6MB)
테스트 15 〉 통과 (7.62ms, 53.9MB)
테스트 16 〉 통과 (8.92ms, 52.9MB)
테스트 17 〉 통과 (4.06ms, 53.5MB)
테스트 18 〉 통과 (6.37ms, 54.1MB)
테스트 19 〉 통과 (10.18ms, 55MB)
테스트 20 〉 통과 (7.87ms, 53.6MB)
효율성 테스트
테스트 1 〉 통과 (24.74ms, 59.4MB)
테스트 2 〉 통과 (18.89ms, 56.3MB)
테스트 3 〉 통과 (390.21ms, 98.5MB)
테스트 4 〉 통과 (246.44ms, 97MB)
def solution(phone_book):
phone_book = sorted(phone_book)
for phone, phone1 in zip(phone_book, phone_book[1:]):
if(phone1.startswith(phone)):
return False
return True
java 제출 코드와 같이 진행했다
효율성 테스트
정확성 테스트
테스트 1 〉 통과 (0.01ms, 10.1MB)
테스트 2 〉 통과 (0.01ms, 10.2MB)
테스트 3 〉 통과 (0.01ms, 10.2MB)
테스트 4 〉 통과 (0.01ms, 10.1MB)
테스트 5 〉 통과 (0.01ms, 10.3MB)
테스트 6 〉 통과 (0.01ms, 10.1MB)
테스트 7 〉 통과 (0.01ms, 10.1MB)
테스트 8 〉 통과 (0.01ms, 10.2MB)
테스트 9 〉 통과 (0.01ms, 10.2MB)
테스트 10 〉 통과 (0.01ms, 10.2MB)
테스트 11 〉 통과 (0.01ms, 10.2MB)
테스트 12 〉 통과 (0.00ms, 10.1MB)
테스트 13 〉 통과 (0.01ms, 10.1MB)
테스트 14 〉 통과 (0.48ms, 10.2MB)
테스트 15 〉 통과 (0.61ms, 10.3MB)
테스트 16 〉 통과 (0.66ms, 10.2MB)
테스트 17 〉 통과 (0.83ms, 10.2MB)
테스트 18 〉 통과 (1.00ms, 10.3MB)
테스트 19 〉 통과 (0.82ms, 10.4MB)
테스트 20 〉 통과 (1.15ms, 10.5MB)
효율성 테스트
테스트 1 〉 통과 (3.36ms, 10.8MB)
테스트 2 〉 통과 (3.13ms, 10.9MB)
테스트 3 〉 통과 (119.31ms, 30.5MB)
테스트 4 〉 통과 (92.75ms, 28MB)
for문 안에 zip()을 하나 알게됐다. Rx.Js 사용할때 봤던 Method였는데 python에서 보니 반갑네,,