알고리즘
프로그래머스 수열과 구간 쿼리2(JAVA)
박카스마시며코딩
2023. 10. 22. 18:59
https://school.programmers.co.kr/learn/courses/30/lessons/181923
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
저는 구현을 통해 문제를 해결하였습니다.
배열에서 쿼리의 시작 인덱스부터 끝 인덱스까지 for문을 돌면서 k값보다 큰지 확인하고 크다면 초기화해줍니다.
그 중 작은 값을 찾아야하기에 Math.min을 통해 k보다 크면서 작은 값을 찾아나갔습니다.
import java.util.*;
class Solution {
public int[] solution(int[] arr, int[][] queries) {
int[] answer = new int[queries.length];
for(int i = 0 ; i < queries.length ; i++){
int result = -1;
for(int j = queries[i][0] ; j <= queries[i][1] ; j++){
if(queries[i][2] < arr[j]){
if(result == -1){
result = arr[j];
}
result = Math.min(result,arr[j]);
}
}
answer[i] = result;
}
return answer;
}
}