☕Language: Java
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.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
// 1. divisor로 나누어 떨어지는 값
// 2. 오름차순
// 3. 나누어 떨어지는 값이 없을 경우, 배열에 -1 담아 return
int[] answer = {};
int num = 0;
for(int i : arr){
if(i%divisor==0){
num++;
}
}
if(num==0){
answer = new int[]{-1};
} else {
answer = new int[num];
for(int i : arr){
if(i%divisor==0){
answer[--num] = i;
}
}
Arrays.sort(answer);
}
return answer;
}
}
|
🤔 해설
1. if(num==0){ ... }
- 나누어 떨어지는 수가 없을 경우, 조건문 처리
2. Arrays.sort(answer);
- 입출력 예제에 맞춰 오름차순 정렬
😮 이 외의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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};
Arrays.sort(answer);
return answer;
}
}
|
1. filter(factor -> factor % divisor == 0)
- stream.filter: 조건 처리
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
|
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
// 1. divisor로 나누어 떨어지는 값
// 2. 오름차순
// 3. 나누어 떨어지는 값이 없을 경우, 배열에 -1 담아 return
int[] answer = {};
List<Integer> list = new ArrayList<>();
int num = 0;
for(int i : arr){
if(i%divisor==0){
list.add(i);
}
}
if(list.size()==0){
answer = new int[]{-1};
} else {
answer = list.stream().mapToInt(i -> i).toArray();
Arrays.sort(answer);
}
return answer;
}
}
|
1. mapToInt(i -> i);
- 스트림의 각 요소를 정수로 매핑
2. toArray();
- 기본적인 return type은 Object[]
- 스트림의 요소 타입이 int로 결정되었기 때문에 toArray 메서드는 int[] 배열을 반환
* 스트림의 요소 타입을 명시적으로 지정하면 해당 타입의 배열 return 가능
🔗 소스 코드
GitHub
📚 참고 자료
'Computer > Algorithm_Java' 카테고리의 다른 글
[Programmers] 두 정수 사이의 합 (Success) (0) | 2023.09.21 |
---|---|
[BaekJoon] 15650번 N과 M (2) 문제 풀이 (Success) (0) | 2023.09.20 |
[Programmers] 소수 만들기 (Success) (0) | 2023.09.18 |
[BaekJoon] 15649번 N과 M (1) 문제 풀이 (Success) (0) | 2023.09.17 |
[Programmers] 같은 숫자는 싫어 (Success) (0) | 2023.09.16 |