프로그래머스 전화번호 목록(phone_book) 정답 코드
뿌리튼튼 CS/Algorithm2019. 4. 15. 16:34
난이도 ★★★☆☆
힌트
저는 빅오를 최대한 낮춰보려고 모든 prefix 를 hash map 에 담아서 체크했습니다. 친구는 이렇게까지 안했는데도 통과되네요. 입력크기가 작아서 그런듯합니다. |
이하는 코드입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import java.util.HashMap;
import java.util.Map;
public class Solution {
public boolean solution(String[] phone_book) {
Map<String, Integer> prefixMap = new HashMap<>();
for (String phoneNo : phone_book) {
for (int i = 1; i <= phoneNo.length(); i++) {
String prefix = phoneNo.substring(0, i);
Integer count = prefixMap.get(prefix);
if (count == null) {
prefixMap.put(prefix, 1);
} else {
prefixMap.put(prefix, count + 1);
}
}
}
for (String phoneNo : phone_book) {
Integer count = prefixMap.get(phoneNo);
if (count > 1) {
return false;
}
}
return true;
}
}
|
cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
프로그래머스 베스트앨범(genres) 정답 코드 (0) | 2019.04.15 |
---|---|
프로그래머스 위장(clothes) 정답 코드 (0) | 2019.04.15 |
프로그래머스 완주하지 못한 선수(participant) 정답 코드 (0) | 2019.04.15 |
프로그래머스 팰린드롬(Palindrome) 정답 코드 (0) | 2018.06.11 |
codility - Fish 정답 및 해설 (0) | 2017.08.08 |