티스토리 뷰

 

💡 나의 풀이

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
import java.util.*;
 
class Solution {
  public int[] solution(int[] arr, int divisor) {
      int[] answer = {};
      ArrayList<Integer> array = new ArrayList<Integer>();      
      
      for(int i = 0; i < arr.length; i++){
          if(arr[i] % divisor == 0){
              array.add(arr[i]);
          }
      }
      
      if(array.isEmpty()){
          array.add(-1);
      }
      
      answer = new int[array.size()];
      for(int j = 0; j < answer.length; j++){
          answer[j] = array.get(j);
      }
      
      
      
      return answer;
  }
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
 

 

🔑 더 간단한 다른 사람의 풀이

Arrays.stream() 이라는 Java 8 버전부터 제공되는 람다 함수를 썼는데 처음 보는거라 공부가 필요할 것 같다.
수행 속도는 내가 짠 코드가 빨랐지만 for문을 쓰지 않고도 할 수 있다는 것이 신기..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.*;
 
class Solution {
  public int[] solution(int[] arr, int divisor) {
     int[] answer = {};
 
        answer = Arrays.stream(arr).filter(factor -> factor % divisor == 0).toArray();
        Arrays.sort(answer);
 
        if (answer.length == 0) {
            answer = new int[]{-1};
        }
 
        return answer;
  }
}
Colored by Color Scripter
 
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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