You will be fine

<Algorithm> 108. 전화번호목록(프로그래머스)

by BFine
반응형

1. 전화번호목록(프로그래머스)

  • 문자열 비교문제

  • 간단하게 풀었는데 다른사람들의 코드를 보니 String의 startsWith 메서드를 사용하는 것을 보았다. 이 메서드는 접두사를 판별해서 boolean 형태로 반환해주는 메서드이다.

  • Java가 생각보다 더 많은 API를 제공하는구나를 다시 한번 느꼈다. 많이 알아두는게 좋을 것 같다.

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
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
 
public class Solution {
   public boolean solution(String[] phone_book) {
        boolean answer = false;
        /******************************
         * 주어진 문자배열을 크기순으로 sort를
         * 하고 2중 반복을 통해서 왼쪽에서
         * 오른쪽으로 해당 문자열 만큼
         * 비교해서 접두사인지 판단한다. 
         ******************************/
        
        List<String> list = Stream.of(phone_book)
                           .sorted((str1,str2)->str1.length()-str2.length())
                           .collect(Collectors.toList());
        
        for(int i = 0; i < list.size()-1; i++){
            for(int j = i+1; j < list.size(); j++) {
             answer = list.get(i).equals(list.get(j).substring(0, list.get(i).length()));
             if(answer) return !answer;
            }
        }
        
        return !answer;
    }
}
 
cs



참고 & 출처  

반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기