일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- mysql
- 프로그래머스
- 가격이 제일 비싼 식품의 정보 출력하기
- Eclipse
- 포맷 지정자
- 핸드폰 가리기
- MAC OS
- 알고리즘
- 코딩테스트
- github
- 27866
- Iterator
- 맥북
- Android Studio
- OAuth 인증
- SQL코딩테스트
- 깃허브
- 자바
- 프로그램서
- 노선별 평균 역 사이 거리 조회하기
- M1
- homebrew
- sort정렬
- 백준
- JDK
- 문자열 숫자 변환
- Java
- 해시
- 안드로이드 스튜디오
- HashMap
Archives
- Today
- Total
개발일지
[JAVA] 전화번호 목록 본문
728x90
🔗 링크
📌 문제 설명
- 전화번호를 담은 배열 phone_book이 매개변수로 주어질 때,
어떤 번호가 다른 번호의 접두어인 경우가 있으면 false
그렇지 않으면 true를 return
👀 예제
✏️ 풀이 순서
- Sort / Loop 정렬
- Sort 정렬하기
- Loop 돌리기 → 앞번호가 뒷번호의 접두어면 true 리턴
- 마지막까지 아니면 false 리턴
- HashMap
- HashMap 생성하기
- HashMap에 전화번호 해싱하기
- 전체 돌리면서 접두어가 HashMap에 있는지 확인하기
💻 코드
1. Sort / Loop 정렬
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;
}
}
- startsWith(): 특정문자로 시작하는지 확인하여 true/false 반환 (공백도 취급함)
+) endsWith(): 특정문자로 끝나는지 확인하여 true/false 반환
2. HashMap
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
HashMap<String, Integer> map = new HashMap<>();
for (String number: phone_book) {
map.put(number, 1);
}
for (int i = 0; i < phone_book.length; i++) {
for (int j = 0; j < phone_book[i].length(); j++) {
if (map.containsKey(phone_book[i].substring(0, j))) {
return false;
}
}
}
return true;
}
}
- HashMap.containsKey(): HashMap에 인자로 보낸 Key가 있으면 true 반환 / 없으면 false 반환
+) HashMap.containsValue(): HashMap에 인자로 보낸 Value가 있으면 true 반환 / 없으면 false 반환
📚 Reference
[JAVA] 자바_startsWith/endsWith (특정 문자로 시작하거나 끝나는지 체크)
[Java] 맵에 키,값 있는지 확인(containsKey,containsValue)
728x90
'Algorithm' 카테고리의 다른 글
[JAVA] 스택/큐 (0) | 2024.05.01 |
---|---|
[JAVA] Iterator entrySet(), keySet(), values() (0) | 2024.04.25 |
[Java] sort정렬, HashMap / 완주하지 못한 선수 (0) | 2024.04.25 |
[Java] 중복제거 (HashSet) / 폰켓몬 (0) | 2024.04.24 |
Set / HashSet (0) | 2024.04.24 |
Comments