-
프로그래머스 LV2 - 전화번호 목록STUDY/ALGORITHM 2025. 2. 24. 09:18
해당 문제는 프로그래머스 코딩테스트 고득점Kit에 포함된 문제이다.
해시 항목으로 추가되어 있으나, 훨씬 간단한 해결방법이 존재한다.
그래서 그런지 레벨도 좀 과분하게 책정된 듯 하다.
하나의 전화번호가 다른 전화번호의 접두어로 존재하는 경우가 하나라도 있는지를 판별해야한다.
사실 다른 어떤 설명을 붙히려고해도 그저 "사전 정렬을 이용하면 된다" 라고밖에 설명이 안되는것 같다..
만약 하나의 전화번호가 다른 전화번호의 접두어라면, 바로 다음 인덱스에 해당 전화번호가 올수 밖에 없다.
그래서 1번 인덱스부터 바로 i -1 와 비교하면 된다.
import java.util.*; class Solution { public boolean solution(String[] phone_book) { Arrays.sort(phone_book); // 사전정렬 boolean answer = true; // 기본값 true for(int i = 1; i < phone_book.length; i ++){ if(phone_book[i].startsWith(phone_book[i-1])){ // 바로 전 값이 접두어인지 확인. answer = false; // 접두어인 경우 즉시 중단. break; } } return answer; } }'STUDY > ALGORITHM' 카테고리의 다른 글
프로그래머스 LV3 - 베스트앨범 (2) 2025.02.24 프로그래머스 LV1 - 기사단원의 무기 (1) 2025.02.24 프로그래머스 LV1 - 택배 상자 꺼내기 (0) 2025.02.17 프로그래머스 LV1 - 달리기 경주 (1) 2025.02.12 프로그래머스 LV1 - 공원 산책 (0) 2025.02.12