
내가 작성한 코드 1 (반복문 버전)
class Solution {
public int[] solution(int[] arr, int[][] queries) {
for(int[] query : queries){
int start = query[0]; // 시작점
int end = query[1]; // 끝점
// 시작점부터 끝점까지 순환하며 1씩증가
for(int j = start; j <= end; j++){
arr[j]++;
}
}
return arr;
}
}
내가 작성한 코드 2 (스트림 버전)
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] arr, int[][] queries) {
// 각 쿼리를 처리
IntStream.range(0, queries.length).forEach(i -> {
int start = queries[i][0];
int end = queries[i][1];
// start부터 end까지의 인덱스를 순회하며 값을 증가
IntStream.rangeClosed(start, end).forEach(j -> arr[j]++);
});
return arr;
}
}
Share article