🔗 문제 링크
📝 풀이 과정
전화번호를 set
에 모두 넣고, for문을 통해 전화번호를 앞에서부터 잘라 set.contains()
를 활용해 set에 있는지 확인했다.
만약 set에 존재한다면, 해당 전화번호는 다른 전화번호로 시작하기 때문에 접두어가 있으므로 false
를 반환해 주었다. 반복문이 끝날 때까지 return 되지 않았다면, 다른 전화번호가 접두어가 되는 경우가 없기 때문에 true
를 반환해 주었다.
💻 코드
import java.util.*;
public class Solution {
public boolean solution(String[] phone_book) {
Set<String> set = new HashSet<>();
set.addAll(Arrays.asList(phone_book));
for (String phone : phone_book)
for (int i = 1; i < phone.length(); i++)
if(set.contains(phone.substring(0, i)))
return false;
return true;
}
}
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭 - JAVA (1) | 2021.01.03 |
---|---|
[프로그래머스] 베스트앨범 - JAVA (0) | 2021.01.02 |
[프로그래머스] 다트 게임 / 2018 KAKAO BLIND RECRUITMENT(1차) - JAVA (0) | 2020.12.31 |
[프로그래머스] 비밀지도 / 2018 KAKAO BLIND RECRUITMENT(1차) - JAVA (0) | 2020.12.31 |
[프로그래머스] 주식가격(Stack) - JAVA (3) | 2020.12.13 |