[프로그래머스][전화번호 목록]-Lv.2

호준·2022년 1월 1일
0

Algorithm

목록 보기
46/111
post-thumbnail

문제

코드

import java.util.HashMap;
class Solution {
    public boolean solution(String[] phone_book) {
        HashMap<String, Integer> hashmap = new HashMap<String, Integer>();
        //phone_book 데이터 hashmap 저장
        for(int i=0; i<phone_book.length; i++){
            hashmap.put(phone_book[i],i);
        }
        //hashmap 맵중 접두어가 있는지 확인하는 함수
        for(int i=0; i<phone_book.length; i++){
            for(int j=0; j<phone_book[i].length(); j++){
                if(hashmap.containsKey(phone_book[i].substring(0,j))) return false;
            }
        }
        return true;
    }
}

코드 설명

for(int i=0; i<phone_book.length; i++){
	for(int j=0; j<phone_book[i].length(); j++){
    		if(hashmap.containsKey(phone_book[i].substring(0,j))) return false;
      	}
}

2중 for문을 통해 phone_book 길이와 데이터의 String 길이만큼 반복한다.
if문에서 phone_book의 데이터를 인덱스를 1개씩 증가해가면서 substring으로 데이터를 쪼개고 쪼갠 접두어가 hashmap에 포함되는지 확인한다.
있으면 true 없으면 false을 반환한다.

profile
도전하지 않는 사람은 실패도 성공도 없다

0개의 댓글