C++/코딩 기초 트레이닝

[C++/프로그래머스] 조건에 맞게 수열 변환하기 3

서니션 2023. 12. 15. 14:37
728x90
반응형

문제설명

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

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

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


제한사항

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

입출력 예

입출력 예 #1

  • 주어진 k인 3은 홀수이므로, 전체 배열에 3을 곱합니다. 따라서 [3, 6, 9, 300, 297, 294]을 return 합니다.

입출력 예 #2

  • 주어진 k인 2는 짝수이므로, 전체 배열에 2를 더합니다. 따라서 [3, 4, 5, 102, 101, 100]을 return 합니다.

작성코드

 

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> arr, int k) {
    vector<int> answer;
    
    for(int i=0; i<arr.size(); i++)
    {
        // k가 홀수라면 arr의 모든 원소에 k를 곱하고
        if (k % 2 != 0)
            answer.push_back(arr[i]*k);
        // k가 짝수라면 arr의 모든 원소에 k를 더한다
        else
            answer.push_back(arr[i]+k);
    }
    return answer;
}

문제 URL

https://school.programmers.co.kr/learn/courses/30/lessons/181835

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


반응형
728x90

 

728x90
반응형