09009

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

Algorithm/해시
[프로그래머스 lv2] 전화번호 목록
09009

문제 보기

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

소스 코드

// https://school.programmers.co.kr/learn/courses/30/lessons/42577
import java.util.*;
class Solution {
    public boolean solution(String[] phone_book) {
        boolean answer = true;
        
        Map<String, Integer> map = new HashMap<>();
        for (String phone : phone_book) {
            map.put(phone, map.getOrDefault(phone, 0) + 1);
        }
        
        for (String phone : phone_book) {
            String str = "";
            for (int i=0; i<phone.length(); i++) {
                str += phone.substring(i, i+1);
                if (map.containsKey(str) && !str.equals(phone)) {
                    answer = false;
                    break;
                }
            }
        }

        return answer;
    }
}

Comments