봉봉의 개인 블로그

2019-10-01 (나누어 떨어지는 숫자 배열) 본문

/Java

2019-10-01 (나누어 떨어지는 숫자 배열)

봉봉이네 2019. 10. 1. 14:19

문제 설명

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.

제한 사항

  • arr은 자연수를 담은 배열입니다.
  • 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
  • divisor는 자연수입니다.
  • array는 길이 1 이상인 배열입니다.

내가 푼 내용

import java.util.*;
import java.util.stream.*;

class Solution {
  public int[] solution(int[] arr, int divisor) {
      int[] answer = Arrays.stream(arr).filter(x -> (x % divisor == 0)).sorted().toArray();
      
      return answer.length != 0 ? answer : new int[]{-1};
  }
}

풀어본 소감

stream를 이용하여 만듬. 문득 든 생각이... stream 의 장단점이 궁금해져서 정리가 필요할듯.

 

아래 참고

https://okky.kr/article/329818

 

OKKY | 자바 8 Stream API 과 주의사항

이 글은  자바 8  Stream API 를 아는 사람이 주의해야 할 것에 대해 쓰여진   글이지만 , 몰라도 상관없습니다. 이 글 읽어보면 대충 이런거구나 알 수 있으니깐요.  Java 8 Stream API 을 배워야하는 이유로   가독성/간편성 과 성능/공짜점심 으로 보통 꼽습니다. * 가독성 코어 자바

okky.kr

 

'알고리즘 문제 > Java' 카테고리의 다른 글

2019-12-03 (1차 비밀지도)  (0) 2019.12.03
2019-10-01 (두 정수 사이의 합)  (0) 2019.10.01
2019-10-01 (같은 숫자는 싫어)  (0) 2019.10.01
2019-09-30 (가운데 글자 가져오기)  (0) 2019.09.30
2019-09-29 (2016년)  (0) 2019.09.30
Comments