(Java)프로그래머스 - 전화번호 목록

윤준혁·2024년 4월 15일
1

나의 풀이

import java.util.*;

class Solution {
    public boolean solution(String[] phone_book) {
        boolean answer = true;
        HashSet<String> set = new HashSet<>();
        
        for (int i = 0; i < phone_book.length; i++) { // 1
            set.add(phone_book[i]);
        }
        
        for (int i = 0; i < phone_book.length; i++) {
            for (int j = 0; j < phone_book[i].length(); j++) {
                if (set.contains(phone_book[i].substring(0, j))) return false; // 2
            }
        }
        
        return answer;
    }
}

과정

  1. phone_book을 HashSet에 넣어준다
  2. phone_book을 순회하며 phone_book[i]를 길이만큼 substring한 값이 set에 있으면 false, 아니면 true

다른 사람 풀이

class Solution {
    public boolean solution(String[] phoneBook) {
       for(int i=0; i<phoneBook.length-1; i++) {
            for(int j=i+1; j<phoneBook.length; j++) {
                if(phoneBook[i].startsWith(phoneBook[j])) {return false;}
                if(phoneBook[j].startsWith(phoneBook[i])) {return false;}
            }
        }
        return true;
    }
}

0개의 댓글

관련 채용 정보