[programmers] 전화번호 목록

2024. 9. 13. 21:51·알고리즘 오답노트/JAVA

문제 풀이 : 배열과 해시로 모두 풀이할 수 있음 !

첫번째 번호가 다음 번호의 접두사인지 확인해야하는 문제

 

import java.util.Arrays;

class Solution {
    public boolean solution(String[] phone_book) {
        boolean answer = true;
        
        Arrays.sort(phone_book);
        
        for(int i=0; i<phone_book.length-1; i++) {
            if(phone_book[i+1].startsWith(phone_book[i])) {
                answer = false;
            }
        }        
        return answer;
    }
}

처음엔 배열로 풀이해보았는데, 먼저 배열을 정렬한 뒤 startsWith를 사용해 접두사인지 확인하여 문제를 해결함

 

import java.util.HashSet;

class Solution {
    public boolean solution(String[] phone_book) {
        
        boolean answer = true;
        
        HashSet<String> set = new HashSet<>();
        
        for(String phone: phone_book) {
            set.add(phone);
        }
        
        for(String phone: phone_book) {
            for (int i = 1; i < phone.length(); i++) {
                if(set.contains(phone.substring(0,i))) {
                    return false;
                }
            }
        }
        
        return answer;
    }
}

값 하나를 비교하는거라 HashMap보다는 HashSet이 더 적합할 것이라고 생각해서 HashSet을 사용했음

해시 문제라 이게 더 간단할 것이라고 생각해서 해시를 이용하여 다시 풀어본 건데, 오히려 더 복잡하고 길고 시간이 오래 걸리는 것 같아 좋은 방법은 아닌 것 같음

'알고리즘 오답노트 > JAVA' 카테고리의 다른 글

[programmers] 같은 숫자는 싫어  (0) 2024.09.20
[programmers] 의상  (0) 2024.09.20
[programmers] 완주하지 못한 선수  (0) 2024.09.11
[programmers] 폰켓몬  (0) 2024.09.11
'알고리즘 오답노트/JAVA' 카테고리의 다른 글
  • [programmers] 같은 숫자는 싫어
  • [programmers] 의상
  • [programmers] 완주하지 못한 선수
  • [programmers] 폰켓몬
bogyeom
bogyeom
백엔드 개발자 준비중
  • bogyeom
    딩코링코
    bogyeom
  • 전체
    오늘
    어제
    • 분류 전체보기 (10)
      • Node.js (0)
        • 크리스마스 미니홈피 (0)
      • SPRINGBOOT (2)
        • 음악 스트리밍 서비스 (2)
        • 식당 추천 서비스 (0)
      • 우아한 테크코스 프리코스 (3)
      • 알고리즘 오답노트 (5)
        • JAVA (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
bogyeom
[programmers] 전화번호 목록
상단으로

티스토리툴바