728x90
문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12910
나의 풀이
import java.util.Stack;
import java.util.Arrays;
class Solution {
Stack<Integer> stack = new Stack<Integer>();
public Integer[] solution(int[] arr, int divisor) {
for(int i = 0; i< arr.length; i++){
if (arr[i]%divisor == 0){
stack.push(arr[i]);
}
}
Integer[] answer = stack.toArray(new Integer[stack.size()]);
Arrays.sort(answer);
Integer[] none = {-1};
return stack.size() == 0 ? none : answer;
}
}
다른 사람의 풀이
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;
}
}
소감
stream의 filter를 사용하자
'verdantjuly > 코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 : 핸드폰 번호 가리기 (20240311, java) (0) | 2024.03.11 |
---|---|
프로그래머스 코딩테스트 연습 : 음양 더하기 (20240311, java) (0) | 2024.03.11 |
프로그래머스 코딩테스트 연습 : 서울에서 김서방 찾기(20240311, java) (0) | 2024.03.11 |
프로그래머스 코딩테스트 연습 : 두 정수 사이의 합 (20240311, java) (0) | 2024.03.11 |
프로그래머스 코딩테스트 연습 : 하샤드 수 (20240311, java) (0) | 2024.03.11 |