[프로그래머스/Java] 전화번호 목록

괜찮아요?·2023년 3월 30일
0

programmers

목록 보기
8/23

링크

프로그래머스(level2)_전화번호 목록


1차 시도

코드

class Solution {
    public boolean solution(String[] phone_book) {
        boolean answer = true;
        int len = phone_book[0].length();
        String first = phone_book[0];
     
        for(int i=1; i<phone_book.length; i++){
            if(len >= phone_book[i].length()){
                continue;
            }
            
            if(first.equals(phone_book[i].substring(0,len))){
                answer = false;
                break;
            }
        }           
        return answer;
    }
}
  • 문제 이해를 아예 잘못 했다. 첫번째 번호가 뒷 번호의 접두어라고 생각했다...

2차 시도

풀이 순서

  1. 번호를 사전순서대로 정렬한다.
  2. 앞 번호가 뒷 번호의 접두어면 false를 return

코드

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])){
                answer = false;
                break;
            }
        }
       
        return answer;
    }
}
profile
할 수 있어요

0개의 댓글