728x90
코드 힌트
- queries 배열에 있는 배열 [s, e, k]를 꺼내온다
- 각 query마다 s <= i <= e인 모든 i에 대해 i가 k의 배수이면 arr[i]에 1을 더한다
각 쿼리에서 시작 인덱스(s)부터 종료 인덱스(e)까지의 범위를 순회하면서, 해당 인덱스(i)가 k의 배수인지 확인합니다. 만약 i가 k의 배수라면 arr[i] 값을 1 증가시킵니다. - 추가 설명
- i % k == 0의 조건을 사용하여 i가 k의 배수인지를 확인합니다. 이 조건이 참이면 해당 인덱스의 배열 값을 1 증가시킵니다.
- 최종적으로 변경된 배열을 반환합니다.
- [0, 4, 1]: 0에서 4까지 모든 인덱스가 1의 배수이므로 모든 요소에 1을 더함.
- [0, 3, 2]: 0에서 3까지 인덱스 중 2의 배수는 0과 2. 따라서 arr[0]과 arr[2]에 1을 더함.
- [0, 3, 3]: 0에서 3까지 인덱스 중 3의 배수는 0과 3. 따라서 arr[0]과 arr[3]에 1을 더함.
- [1, 2, 3, 5, 4]
- [2, 2, 4, 5, 4]
- [3, 2, 4, 6, 4]
arr 원본 배열: [0, 1, 2, 4, 3]
정답은 더보기 클릭
더보기
class Solution {
public int[] solution(int[] arr, int[][] queries) {
// 각 쿼리(query)에 대해 순회
for (int[] querie : queries) {
int s = querie[0]; // 시작 인덱스 s
int e = querie[1]; // 종료 인덱스 e
int k = querie[2]; // k의 배수 조건
// s부터 e까지 순회
for (int i = s; i <= e; i++) {
// i가 k의 배수인 경우 arr[i] 값을 1 증가
if (i % k == 0) {
arr[i]++;
}
}
}
return arr; // 변경된 배열 반환
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 2의 영역 (0) | 2024.07.18 |
---|---|
[프로그래머스] 약수 구하기 (0) | 2024.07.18 |
[프로그래머스] 문자열 뒤집기 (0) | 2024.07.16 |
[프로그래머스] 배열 회전시키기 (0) | 2024.07.16 |
[프로그래머스] 369게임 (0) | 2024.07.15 |