https://programmers.co.kr/learn/courses/30/lessons/12910
방법 1
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
32
33
34
|
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
class Solution {
public int[] solution(int[] arr, int divisor) {
// list에 나누어 떨어지는 요소 저장
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < arr.length; i++) {
if(arr[i] % divisor == 0) {
list.add(arr[i]);
}
}
// list가 비어있으면 -1 하나가 담긴 배열 리턴
int count = list.size();
if (count == 0) {
return new int[]{-1};
}
// list -> int배열
int[] answer = new int[count];
for (int i = 0; i < count;i++) {
answer[i] = list.get(i);
}
// 정렬
Arrays.sort(answer);
return answer;
}
}
Colored by Color Scripter
|
방법 2: 람다를 사용한 다른분 답안
1
2
3
4
5
6
7
8
|
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
return Arrays.stream(arr).filter(factor -> factor % divisor == 0).toArray();
}
}
Colored by Color Scripter
|
어려운 문제는 아니지만,
역시나 신기하게 풀이하신 분이 있어서 공유한다.
아직 자바 람다를 잘 모르기 때문에 ㅠㅠ
내공이 쌓이면 다시 돌아오는 것으로...
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스]연습문제 : 문자열 내 마음대로 정렬하기 (level 1) (0) | 2019.11.06 |
---|---|
[프로그래머스]연습문제 : 두 정수 사이의 합 (level 1) (0) | 2019.11.06 |
[프로그래머스]연습문제 : 같은 숫자는 싫어 (level 1) (0) | 2019.11.06 |
[프로그래머스]연습문제 : 가운데 글자 가져오기 (level 1) (0) | 2019.11.06 |
[프로그래머스]연습문제 : 2016년 (level 1) (0) | 2019.11.05 |
댓글