https://school.programmers.co.kr/learn/courses/30/lessons/12910
문제 설명
ArrayList로 푸는 문제인줄 알았는데 stream.filter를 사용하면 바로 쉽게 풀 수 있다!
stream 사용법을 좀더 익혀두자.
arr 배열을 스트림으로 변환하고 정렬해서 필터링 다음 다시 배열로 바꿧고 만약 정렬결과 해당되는게 없으면
return new in[] {-1};로 -1이 들어간 배열을 반환했다
import java.util.*;
public class Solution {
public int[] solution(int[] arr, int divisor) {
int[] res = Arrays.stream(arr).sorted().filter(x -> x % divisor == 0).toArray();
if (res.length == 0) return new int[] {-1};
return res;
}
public static void main(String[] args) {
Solution T = new Solution();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] arr = new int[n];
int div = in.nextInt();
for (int i = 0; i < n; i++) arr[i] = in.nextInt();
for (int x : T.solution(arr,div)) System.out.print(x + " ");
}
}
'알고리즘 이전 > 프로그래머스 1레벨' 카테고리의 다른 글
문자열 내림차순 정렬하기 (0) | 2023.09.20 |
---|---|
문자열 내 마음대로 정렬하기 (0) | 2023.09.19 |
가운데 글자 가져오기 (0) | 2023.09.18 |
2016년 (0) | 2023.09.18 |
폰켓몬 (0) | 2023.09.18 |