본문 바로가기

프로그래머스(Java)/Level 0

[프로그래머스] 수열과 구간 쿼리 1

728x90

코드 힌트

  1. 배열과 쿼리 순회
    • 주어진 배열 arr와 2차원 배열 queries를 순회합니다.
    • 각 쿼리마다 특정 범위의 인덱스를 업데이트합니다.
  2. 시작 및 종료 인덱스 추출
    • 각 쿼리는 두 개의 정수로 구성되어 있으며, 첫 번째 정수는 시작 인덱스 s, 두 번째 정수는 종료 인덱스 e입니다.
  3. 범위 내 요소 증가
    • 쿼리에서 정의한 범위 내의 모든 요소를 1씩 증가시킵니다.
    • 이중 for 문을 사용하여 시작 인덱스부터 종료 인덱스까지 순회하면서 각 요소를 증가시킵니다.
  4. 최종 결과 반환
    • 모든 쿼리를 처리한 후 업데이트된 배열 arr을 반환합니다.

추가 설명

  • 배열 순회
    • 첫 번째 for 문은 2차원 배열 queries를 순회하여 각 쿼리를 처리합니다.
    • 두 번째 for 문은 각 쿼리 내의 범위 (s부터 e까지)를 순회하여 해당 범위의 배열 요소를 1씩 증가시킵니다.
  • 쿼리 처리
    • query 배열에서 시작 인덱스 s와 종료 인덱스 e를 추출합니다.
    • 해당 범위 내의 모든 배열 요소를 1씩 증가시키는 작업을 수행합니다.

 

 


정답은 더보기 클릭

더보기
class Solution {
    public int[] solution(int[] arr, int[][] queries) {
        // 각 쿼리(query)를 순회하며 배열(arr)을 업데이트
        for (int[] query : queries) {
            int s = query[0];  // 쿼리의 시작 인덱스
            int e = query[1];  // 쿼리의 종료 인덱스
            
            // 시작 인덱스(s)부터 종료 인덱스(e)까지의 배열 요소를 1씩 증가시킴
            for (int i = s; i <= e; i++) {
                arr[i]++;
            }
        }
        
        // 업데이트된 배열(arr)을 반환
        return arr;
    }
}
728x90