알고리즘

프로그래머스 수열과 구간 쿼리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;
    }
}

'알고리즘' 카테고리의 다른 글

백준 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