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

Kim Ji Eun·2022년 3월 7일
0

난이도

레벨 2

문제

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

풀이

정렬을 사용해 풀었다.

  1. 전화번호부를 정렬한다.
    Arrays.sort(phone_book);를 하면
    before : ["119", "97674223", "1195524421"]
    after : ["119", "1195524421", "97674223"]
    (보이는 그대로 문자열 정렬, 1이 9보다 앞이므로 앞에 오고 문자열 길이는 상관 없음)
  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

profile
Back-End Developer

0개의 댓글

관련 채용 정보