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;
}
}
'알고리즘' 카테고리의 다른 글
백준 15624번 피보나치 수7 (JAVA) (1) | 2023.10.24 |
---|---|
백준 1951번 활자 (JAVA) (1) | 2023.10.23 |
백준 2312번 수 복원하기 (JAVA) (1) | 2023.10.21 |
백준 18243번 Small World Network (JAVA) (1) | 2023.10.20 |
백준 2238번 경매 (JAVA) (0) | 2023.10.19 |