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

지수·2021년 9월 1일
0
post-thumbnail

알고리즘 문제 풀이를 블로그에 올리는 이유는 풀이, 코드를 기록하기 위함이니
앞으로 문제를 다 긁어오기보다 링크만 두고 풀이가 잘 보이도록 포스팅 할 예정입니다!

📄 문제

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


👩‍💻 풀이

1. 문제 이해

이 문제는 전화번호가 담긴 phone_book 배열에서
특정 원소가 다른 원소의 접두사가 되는지 여부를 확인하여
접두사 관계가 존재하는 경우 false, 접두사 관계가 존재하지 않는 경우 false를 반환하는 문제이다.


2. 풀이

import java.util.HashMap;

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

        HashMap<String, Integer> map = new HashMap<>();

        int num = 0;
        for(String phone : phoneBook) {
            map.put(phone, num++);
        }

        for(int i = 0; i < phoneBook.length; i++) {
            for(int j = 1; j < phoneBook[i].length(); j++) {
            	// substring은 0 ~ j-1까지 잘라주는 메소드
                if (map.containsKey(phoneBook[i].substring(0, j))) {
                    answer = false;
                    break;
                }
            }
        }
        return answer;
    }
}
profile
사부작 사부작

0개의 댓글

관련 채용 정보