프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] 조건에 맞게 수열 변환하기 3(Java)

Sigfriede 2023. 5. 4. 01:30

  문제 설명

  정수 배열 arr와 자연수 k가 주어집니다.

  만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더합니다.

  이러한 변환을 마친 후의 arr를 return 하는 solution 함수를 완성해 주세요.

 

  제한사항

  • 1 <= arr의 길이 <= 1,000,000
  • 1 <= arr의 원소의 값 <= 100
  • 1 <= k <= 100

 

  입출력 예

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];
        for (int i = 0; i < arr.length; i++) {
            if (k % 2 == 0) {
                answer[i] = arr[i] + k;
            } else {
                answer[i] = arr[i] * k;
            }
        }
        return answer;
    }
}

  for문이 arr의 길이만큼 순회합니다. 만약 k를 2로 나눈 나머지가 0이라면 answer의 i번째 인덱스에 arr의 i번째 인덱스에 k를 더한 값을 차례대로 할당합니다. 만약 조건에 해당하지 않는다면 answer의 i번째 인덱스에 arr의 i번째 인덱스에 k를 곱한 값을 차례대로 할당합니다.