99클럽 코테 스터디 1일차 TIL + 오늘의 학습 키워드

angie·2024년 5월 20일

TIL

목록 보기
1/6

오늘의 학습 키워드

  • sort
  • startsWith

문제: 전화번호 목록
주어진 전화번호 중 한 번호가 다른 번호의 접두어인지 확인하는 문제였습니다.

어떻게 해결했는지

  • 처음에는 이중 for문을 사용하여 모든 번호를 비교하려고 했지만, 시간 초과 문제가 발생했다.
  • 그 후 sort를 사용하여 전화번호를 정렬하고, 인접한 번호끼리만 비교하는 방법을 시도하여 해결했다.
  • ["119", "97674223", "1195524421"] -> ["119", "1195524421", "97674223"]. 이렇게 정렬되어, 인접한 번호들만을 비교하여 접두사를 확인하는 방법으로 문제를 해결할 수 있다.
import java.util.Arrays;

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() 함수

  • 문자열이 특정 접두사로 시작하는지 여부를 확인하는 Java의 문자열 메서드
  • 주어진 문자열이 특정 접두사로 시작하면 true를 반환하고, 그렇지 않으면 false를 반환한다.

Arrays.sort()

  • 배열을 사전순으로 정렬할 때 사용하고 기본적으로 오름차순으로 정렬
profile
열심히 달리는 개발자

0개의 댓글