<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 |
참고 & 출처
반응형
'공부(2018~2019) - 스킨변경전 > Algorithm' 카테고리의 다른 글
<Algorithm> 110. 재관이의대량할인(SWExpert) (0) | 2019.02.11 |
---|---|
<Algorithm> 109. 3190번 뱀 (0) | 2019.02.10 |
<Algorithm> 107. 예산(프로그래머스) (1) | 2019.02.09 |
<Algorithm> 106. 체육복(프로그래머스) (0) | 2019.02.07 |
<Algorithm> 105. 1057번 토너먼트 (0) | 2019.02.06 |
블로그의 정보
57개월 BackEnd
BFine