-
전화번호 목록 JAVA프로그래머스 알고리즘 2023. 5. 5. 17:07728x90
위와 같이 전화번호를 String형으로 주어지는데 각 전화번호를 비교해 접두어가 같은 String이 있으면 false를 return하고
그렇지 않으면 true를 return하는 것이다.
접두어는 맨앞의 글자만 같아도 접두어가 같은것이다.
import java.util.*; class Solution { public boolean solution(String[] phone_book) { Map<String, Integer>m = new HashMap<>(); for(int i=0;i<phone_book.length;i++) m.put(phone_book[i], 1); for(int i=0;i<phone_book.length;i++){ for(int j=1;j<phone_book[i].length();j++){ if(m.containsKey(phone_book[i].substring(0, j))) return false; } } return true; } }
먼저 모든 전화번호를 map에 저장해준다.
그 다음 각 전호번호 마다 분해를 해서 현재 맵에 있는지 확인한다.
예를 들어 "119"는 "1", "11"이 맵에 있는지 확인한다.
substring()은 첫번째 인자는 포함이고, 두번째 인자는 제외이다.
'프로그래머스 알고리즘' 카테고리의 다른 글
큰 수 만들기 JAVA (0) 2023.07.17 구명보트 (c++) (0) 2023.05.10 게임 맵 최단거리 JAVA (0) 2023.05.05 정수 삼각형(JAVA) (0) 2023.05.05 체육복 (JAVA) (0) 2023.05.05