[프로그래머스] 전화번호 목록 - Java, 자바

난이도

레벨 2

문제

https://programmers.co.kr/learn/courses/30/lessons/42577

풀이

정렬을 사용해 풀었다.

  1. 전화번호부를 정렬한다.
    Arrays.sort(phone_book);를 하면
    before : ["119", "97674223", "1195524421"]
    after : ["119", "1195524421", "97674223"]
    (알파벳? 처럼 정렬)
  2. startsWith를 사용해 접두어에 해당하면 false를 return 하도록 했다.

해시 문제지만 정렬과 접두어 판단 메소드를 사용해 풀었다.
해시로도 문제를 해결해보자.

코드

import java.util.*;

class Solution {
    public boolean solution(String[] phone_book) {
        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 true;

    }
}

https://sdesigner.tistory.com/96

좋은 웹페이지 즐겨찾기