[ Programmers ] 배열의 길이에 따라 다른 연산하기 ( java ) 99 / 124
📚 Table of Contents
문제 설명
정수 배열 arr
과 정수 n
이 매개변수로 주어집니다.
arr
의 길이가 홀수라면 arr
의 모든 짝수 인덱스 위치에 n
을 더한 배열을, arr
의 길이가 짝수라면 arr
의 모든 홀수 인덱스 위치에 n
을 더한 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤
arr
의 길이 ≤ 1,000 - 1 ≤
arr
의 원소 ≤ 1,000 - 1 ≤
n
≤ 1,000
입출력 예
arr | n | result |
---|---|---|
[49, 12, 100, 276, 33] | 27 | [76, 12, 127, 276, 60] |
[444, 555, 666, 777] | 100 | [444, 655, 666, 877] |
입출력 예 설명
입출력 예 #1
- 예제 1번의
arr
의 길이는 5로 홀수입니다. - 따라서
arr
의 짝수 인덱스 0, 2, 4에 주어진n
값인 27을 더하면 [76, 12, 127, 276, 60]이 됩니다. - 따라서 [76, 12, 127, 276, 60]를 return 합니다.
입출력 예 #1
- 예제 2번의
arr
의 길이는 4로 짝수입니다. - 따라서
arr
의 홀수 인덱스 1, 3에 주어진n
값인 100을 더하면 [444, 655, 666, 877]이 됩니다. - 따라서 [444, 655, 666, 877]를 return 합니다.
문제 풀이
코드 설명
- 코드의 목적:
- 이 코드는 주어진 정수 배열의 홀수 인덱스에 있는 요소들에 특정 숫자(n)를 더하는 것입니다.
- 만약 배열의 길이가 짝수라면 첫 번째 요소의 인덱스는 0(짝수)이므로 두 번째 요소부터 시작해야 합니다.
- 그러나 배열의 길이가 홀수라면 첫 번째 요소의 인덱스는 0이므로 첫 번째 요소부터 시작해야 합니다.
- 코드의 주요 구조:
- 이 코드는 입력으로 정수 배열과 하나의 정수를 받습니다.
- 이후, 배열의 홀수 인덱스에 있는 요소들에 입력 받은 정수를 더합니다.
- 코드의 주요 알고리즘:
- 이 코드는 반복문을 사용하여 배열의 홀수 인덱스에 있는 요소들에 정수를 더하는 것입니다.
- 코드의 핵심:
- 이 코드의 핵심은 홀수 인덱스에 있는 요소들에만 특정 숫자를 더하는 것.
풀이
class Solution {
public int[] solution(int[] arr, int n) {
// 배열의 길이가 짝수인지 홀수인지에 따라 시작 인덱스를 결정하고, 그 인덱스부터 2씩 증가시키며 배열을 순회합니다.
// 배열의 길이가 짝수라면 첫 번째 요소의 인덱스는 0이므로 두 번째 요소부터 시작합니다.
// 배열의 길이가 홀수라면 첫 번째 요소의 인덱스는 0이므로 첫 번째 요소부터 시작합니다.
for (int i = arr.length % 2 == 0 ? 1 : 0; i < arr.length; i += 2) {
arr[i] += n; // 홀수 인덱스에 있는 요소에 n을 더합니다.
}
return arr; // 수정된 배열을 반환합니다.
}
}
'Coding > Programers' 카테고리의 다른 글
[ Programmers ] 뒤에서 5등 위로 ( java ) 101 / 124 (0) | 2024.02.02 |
---|---|
[ Programmers ] 뒤에서 5등까지 ( java ) 100 / 124 (0) | 2024.02.02 |
[ Programmers ] 문자열 묶기 ( java ) 98 / 124 (0) | 2024.02.02 |
[ Programmers ] 배열 비교하기 ( java ) 97 / 124 (0) | 2024.01.20 |
[ Programmers ] 배열의 길이를 2의 거듭제곱으로 만들기 ( java ) 96 / 124 (0) | 2024.01.20 |