어려웠다^^.....
class Solution {
public int[] solution(int[] arr, int[][] queries) {
int[] result = new int[queries.length];
for(int i=0;i<queries.length;i++){
int max = Integer.MAX_VALUE;
int s = queries[i][0];
int e = queries[i][1];
int k = queries[i][2];
boolean found = false;
for(int x=s;x<=e;x++){
if (k < arr[x] && max > arr[x]){
max = arr[x];
found = true;
}
}
result[i] = found ? max : -1;
}
return result;
}
}
boolean으로 값 구분하는거 okay..
MAX_VALUE에 대한 개념이 잘 정립이 안되어있는듯?
[챗지피티씨의 도움]
주어진 코드에서 min은 해당 쿼리 범위 내에서 arr[j] 중에서 k보다 크면서 가장 작은 값을 저장합니다.
따라서, min은 각 쿼리 범위 내에서 k보다 크면서 가장 작은 값을 찾기 위해 사용되는 변수입니다.
[다른 사람의 풀이]
음 ! 값이 없으면 -1로 하는거를 나는 마지막에 boolean 값으로 구분지어줬는데
Arrays.fill(answer, -1);
로 진즉이 -1을 기본값으로 배열을 채워둔 사람도 있다 !
방법이 많구나 신기하다..
다시 풀어보는 것도 좋을 것 같은 문제
오늘은 좀 일일 코테풀이가 오래걸렸단