본문 바로가기
프로그래머스코딩테스트연습풀이/C언어

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

by 코코쵸마 2023. 8. 1.

문제

정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요.

 

솔루션

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// arr_len은 배열 arr의 길이입니다.
int* solution(int arr[], size_t arr_len) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    int* answer = (int*)malloc(arr_len*sizeof(int));
    for(int i = 0; i < arr_len; i++)
    {
        if((arr[i]>50 || arr[i] == 50) && arr[i]%2==0)
            answer[i] = arr[i]/2;
        else if((arr[i]%2 != 0)&&arr[i] < 50)
            answer[i] = arr[i]*2;
        else
            answer[i] = arr[i];
    }
    return answer;
}

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