백준 문제풀이
프로그래머스 lv2 _ 전화번호목록 JAVA문제풀이
yoneeee
2021. 7. 19. 15:00
오늘 푼 알고리즘 문제는
프로그래머스 lv2. 전화번호목록
문제
해시맵 이용해서 풀이
import java.util.HashMap;
import java.util.Map;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
HashMap<String, Integer> map = new HashMap<>();
//모든 전화번호 해싱
for(int i=0; i < phone_book.length; i++){
map.put(phone_book[i], i);
//map(12,0);
//map(345,1);
}
for(int i=0; i <phone_book.length; i++){
for(int j=1; j <phone_book[i].length(); j++){
// substring은 (start, end-1)이기 때문에 0,0은 아무것도 출력 안됨
// 때문에 j는 1부터 시작해야함
if(map.containsKey(phone_book[i].substring(0,j))){
//키 값을 포함하는게 하나라도 있다면 false 반환
answer = false;
return answer;
}
}
}
return answer;
}
}
해시맵으로 안 풀고
문자열 비교해서 풀었더니 계속
케이스 한개가 안 맞고
점수도 54점이였는데
해시맵으로 푸니까 완전 쉽게 풀 수 있었다