Algorithm/프로그래머스
[Java] 프로그래머스 Level2 전화번호 목록
내영잉
2021. 3. 23. 00:38
class Solution {
public boolean solution(String[] phone_Book) {
for(int i=0; i<phone_Book.length-1; i++) {
for(int j=i+1; j<phone_Book.length; j++) {
if(phoneBook[i].startsWith(phone_Book[j])) {return false;}
if(phoneBook[j].startsWith(phone_Book[i])) {return false;}
}
}
return true;
}
}
다른 사람들 문제풀이를 보니, 이중 for문을 이용하여 비교하는 방식이 많았지만, 효율성 3,4 가 통과하지 못했다
import java.util.Arrays;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
Arrays.sort(phone_book);
for (int i = 0; i < phone_book.length - 1; i++) {
if(phone_book[i + 1].startsWith(phone_book[i])) return false;
}
return answer;
}
}
Arrays.sort를 이용하면 문자가 정렬 되기 때문에 for문을 한번만 쓸 수 있어 효율성이 높아진다.