728x90
코드 힌트
- 배열 생성:
- 결과를 저장할 배열을 queries의 길이만큼 생성합니다.
- 반복문을 통한 쿼리 처리:
- 각 쿼리에 대해 시작 인덱스 s, 끝 인덱스 e, 기준 값 k를 가져옵니다.
- 구간 내 최소값 찾기:
- s부터 e까지의 구간에서 k보다 큰 값 중 가장 작은 값을 찾습니다.
- 결과 저장:
- 만약 k보다 큰 값이 없으면 -1을, 그렇지 않으면 찾은 최소 값을 결과 배열에 저장합니다.
정답은 더보기 클릭
더보기
class Solution {
public int[] solution(int[] arr, int[][] queries) {
// 쿼리 수만큼 결과 배열 생성
int[] result = new int[queries.length];
int idx = 0; // 결과 배열의 인덱스를 관리할 변수
for (int[] query : queries) {
// 쿼리에서 시작 인덱스, 끝 인덱스, 기준 값 추출
int s = query[0];
int e = query[1];
int k = query[2];
// 초기 최소 값을 최대 정수 값으로 설정
int minNum = Integer.MAX_VALUE;
for (int i = s; i <= e; i++) {
// 현재 값이 k보다 크고, 현재 최소 값보다 작으면 갱신
if (arr[i] > k && arr[i] < minNum) {
minNum = arr[i];
}
}
// 최소 값이 갱신되었으면 결과 배열에 저장, 아니면 -1 저장
if (minNum < Integer.MAX_VALUE)
result[idx++] = minNum;
else
result[idx++] = -1;
}
return result; // 결과 배열 반환
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 특별한 이차원 배열 1 (0) | 2024.07.28 |
---|---|
[프로그래머스] 배열 만들기 2 (0) | 2024.07.26 |
[프로그래머스] 수열과 구간 쿼리 3 (0) | 2024.07.26 |
[프로그래머스] 치킨 쿠폰 (0) | 2024.07.26 |
[프로그래머스] 간단한 식 계산하기 (0) | 2024.07.26 |