728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42577
728x90
메모리: 258 MB, 시간: 378.52 ms
사용 알고리즘: 해시
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
// 이전 번호를 담아둠
Set<String> set = new HashSet<>();
for(int i = 0; i < phone_book.length; i++)
set.add(phone_book[i]);
StringBuilder sb;
for(int i = 0; i < phone_book.length; i++) {
sb = new StringBuilder();
for(int j = 0; j < phone_book[i].length() - 1; j++) {
sb.append(phone_book[i].charAt(j)); // i번째 단어의 0 ~ j까지 슬라이싱한 문자열이 담겨 있음
if(set.contains(sb.toString())) { // 다른 번호가 접두어인 경우 false 리턴
return false;
}
}
}
return true;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 138476] 귤 고르기 (java) (1) | 2024.11.08 |
---|---|
[프로그래머스, 298515] 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (mysql) (1) | 2024.10.18 |
[프로그래머스, 42584] 주식가격 (java) (3) | 2024.10.17 |
[프로그래머스, 293258] 잔챙이 잡은 수 구하기 (mysql) (0) | 2024.10.17 |
[프로그래머스, 59042] 없어진 기록 찾기 (mysql) (0) | 2024.10.16 |