[C++] 프로그래머스 조건에 맞게 수열 변환하기 1
문제설명
정수 배열 arr가 주어집니다.
arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면
2로 나누고, 50보다 작은 홀수라면 2를 곱합니다.
그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요.
제한사항
• 1 ≤ arr의 길이 ≤ 1,000,000
◦ 1 ≤ arr의 원소의 값 ≤ 100
입출력 예
arr | result |
---|---|
[1, 2, 3, 100, 99, 98] | [2, 2, 6, 50, 99, 49] |
풀이
50보다 크거나 같은 짝수인 경우 2로 나누고, 50보다 작은 홀수는 2를 곱하는 로직을 구현하여 문제를 풀 수 있었습니다.
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> arr) {
vector<int> answer;
for(int i = 0; i < arr.size(); i++)
{
if(arr[i] >= 50 && arr[i] % 2 == 0)
{
answer.push_back(arr[i] / 2);
}
else if(arr[i] < 50 && arr[i] % 2 != 0)
{
answer.push_back(arr[i] * 2);
}
else
{
answer.push_back(arr[i]);
}
}
return answer;
}
결과
Leave a comment