나누어 떨어지는 숫자 배열

이준경·2021년 5월 11일
0

<나의풀이>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.*;
 
class Solution {
    public int[] solution(int[] arr, int divisor) {
        ArrayList<Integer> list = new ArrayList<>();
        for(int n : arr){
            if(n%divisor==0){
                list.add(n);
            }
        }
        if(list.isEmpty()){
            list.add(-1);
        }
        int[] answer = new int[list.size()];
        for(int i=0; i<list.size(); i++){
            answer[i] = list.get(i);
        }
        Arrays.sort(answer);
        return answer;
    }
}
cs
  1. 리스트에 나누어 떨어지는 값만 추가
  2. 리스트가 비었으면 -1요소 추가
  3. answer에 대입후 정렬 한 뒤 리턴

<다른사람풀이>

1
2
3
4
5
6
7
8
9
10
import java.util.Arrays;
 
class Solution {
  public int[] solution(int[] arr, int divisor) {
          int[] answer = Arrays.stream(arr).filter(factor -> factor % divisor == 0).toArray();
          if(answer.length == 0) answer = new int[] {-1};
          java.util.Arrays.sort(answer);
          return answer;
  }
}
cs

람다식과 스트림을 이용한 풀이

0개의 댓글

관련 채용 정보