// 프로그래머스: 배열 두 배 만들기
// numbers의 각 원소를 2배한 값으로 채운 배열을 반환
// 핵심 개념: 배열 순회, 동적 메모리 할당(malloc)
#include <stdio.h>
#include <stdlib.h>
int* solution(int numbers[], size_t numbers_len) {
// 결과 배열 메모리 할당
int* answer = (int*)malloc(sizeof(int) * numbers_len);
for (int i = 0; i < numbers_len; i++) {
answer[i] = numbers[i] * 2; // 각 원소를 2배하여 저장
}
return answer;
}
// 테스트용 main 함수
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int* r1 = solution(arr1, 5);
for (int i = 0; i < 5; i++) printf("%d ", r1[i]); // 출력: 2 4 6 8 10
printf("\n");
int arr2[] = {1, 2, 100, -99, 1, 2, 3};
int* r2 = solution(arr2, 7);
for (int i = 0; i < 7; i++) printf("%d ", r2[i]); // 출력: 2 4 200 -198 2 4 6
printf("\n");
free(r1);
free(r2);
return 0;
}