관리 메뉴

MOMONOTE

(JAVA) 전화번호 목록 (해시) 본문

알고리즘, 코딩테스트/(JAVA)프로그래머스

(JAVA) 전화번호 목록 (해시)

momo0503 2021. 3. 21. 16:09

import java.util.*;

class Solution {
    public boolean solution(String[] phone_book) {
       boolean answer = true;

		for(int i=0;i<phone_book.length-1;i++) {
			for(int j=i+1;j<phone_book.length;j++) {	
				if (phone_book[j].indexOf(phone_book[i])==0) {
					return false;
				}
			}
		}		
		return answer ;
    }
}
//이중 for를 활용, a.indexOf(b) 는 입력받은  의 인덱스가 a에 몇번째에 있는지 반환, 없으면 -1리턴
// 해시 문제인데 , 굳이 사용하지 않아도 될거같다.

 

다른 풀이

import java.util.*;

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++){
        //phone_book[i+1] 이 phone_book[i]로 시작하는지 알 수 true/false 반환
            if (phone_book[i + 1].startsWith(phone_book[i])){
                return false;
            }
  
        }
  
        return answer;
    }
}

 

 

Comments