반응형
풀이
- 이전 문제와 마찬가지고 풀이는 간단한데
- 다른 풀이를 보고 적용해보면 추후에 도움이 될 것 같아서 적용.
- 여기에서 특징점은 2개의 map 사용과
- 그에 따른 min() 후 없다면 orElse(-1)로 return 하는 것이 가장 좋았다.
import java.util.stream.IntStream;
class Solution {
// public int[] solution(int[] arr, int[][] queries) {
// int[] answer = new int[queries.length];
// int idx = 0;
// for (int[] li: queries) {
// int num = 1000001;
// for (int i=li[0]; i<=li[1]; i++) {
// if (arr[i]>li[2] && num>arr[i]) num = arr[i];
// }
// answer[idx] = num==1000001?-1:num;
// idx++;
// }
// return answer;
// }
public int[] solution(int[] arr, int[][] queries) {
return IntStream.range(0,queries.length)
.map(i->IntStream.rangeClosed(queries[i][0],queries[i][1])
.map(j-> arr[j])
.filter(j->j>queries[i][2])
.min().orElse(-1)
).toArray();
}
}
'알고리즘' 카테고리의 다른 글
[백준, 자바, 11403번] 경로 찾기 (0) | 2024.10.10 |
---|---|
[프로그래머스, 자바, 258712번] 가장 많이 받은 선물 (0) | 2024.10.01 |
[프로그래머스, 자바, 181924번] 수열과 구간 쿼리 3 (0) | 2024.10.01 |
[백준, 자바, 15649번] 구간 합 구하기 4 (0) | 2024.09.06 |
[백준, 자바, 1926번] 그림 (0) | 2024.09.06 |