https://school.programmers.co.kr/learn/courses/30/lessons/42577
코딩테스트 연습 > 해시 > 전화번호 목록
난이도: LEVEL2
알고리즘 유형: 해시
정답 코드1(해시)
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
Set<String> phone = new HashSet<>();
for(String next : phone_book){
phone.add(next);
}
StringBuilder sb = new StringBuilder();
for(String next : phone_book){
char [] arr = next.toCharArray();
for(int i = 0; i < arr.length - 1; i++){
sb.append(arr[i]);
if(phone.contains(sb.toString())) return false;
}
sb.setLength(0);
}
return true;
}
}
정답 코드2 (정렬)
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
Arrays.sort(phone_book);
for(int i = 0; i < phone_book.length - 1; i++){
if(phone_book[i+1].startsWith(phone_book[i])) return false;
}
return true;
}
}
'Algorithm > Programmers Java' 카테고리의 다른 글
[JAVA] 프로그래머스 LEVEL2 다음 큰 숫자 (0) | 2024.11.11 |
---|---|
[JAVA] 프로그래머스 LEVEL2 올바른 괄호 (2) | 2024.11.09 |
[JAVA] 프로그래머스 LEVEL2 미로 탈출 (1) | 2024.11.09 |
[JAVA] 프로그래머스 LEVEL3 야근 지수 (1) | 2024.11.08 |
[JAVA] 프로그래머스 LEVEL3 보행자 천국 (1) | 2024.11.07 |