조건에 맞게 수열 변환하기3
문제 #
문제 설명을 적는다.
정수 배열 arr
와 자연수 k
가 주어집니다.
만약 k
가 홀수라면 arr
의 모든 원소에 k
를 곱하고, k
가 짝수라면 arr
의 모든 원소에 k
를 더합니다.
이러한 변환을 마친 후의 arr
를 return 하는 solution 함수를 완성해 주세요.
- 제한사항
- 1 ≤
arr
의 길이 ≤ 1,000,000- 1 ≤
arr
의 원소의 값 ≤ 100
- 1 ≤
- 1 ≤
k
≤ 100
- 1 ≤
- 입출력 예
arr k result [1, 2, 3, 100, 99, 98] 3 [3, 6, 9, 300, 297, 294] [1, 2, 3, 100, 99, 98] 2 [3, 4, 5, 102, 101, 100]
문제분석 #
나의 풀이 #
class Solution {
public int[] solution(int[] arr, int k) {
int[] answer = new int[arr.length];
if(k%2!=0) {
for(int i = 0; i<arr.length; i++) {
answer[i] = arr[i] * k;
}
} else {
for (int i = 0; i<arr.length; i++) {
answer[i] = arr[i] + k;
}
}
return answer;
}
}
다른 사람의 풀이 #
class Solution {
public int[] solution(int[] arr, int k) {
//int[] answer = new int [arr.length];
for(int i = 0; i < arr.length; i ++){
if(k % 2 != 0){
arr[i] *= k;
}
else{
arr[i] += k;
}
}
return arr;
}
}
- 주어진 배열값 자체를 변환시켰다.