TigerDemon
4주차_배열 자르기 본문
<문제>
문제설명
: 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
: 2 ≤ numbers의 길이 ≤ 30
0 ≤ numbers의 원소 ≤ 1,000
0 ≤num1 < num2 < numbers의 길이
입출력 예
| numbers | num1 | num2 | result |
| [1, 2, 3, 4, 5] | 1 | 3 | [2, 3, 4] |
| [1, 3, 5] | 1 | 2 | [3, 5] |
입출력 예 설명
설명 #1 : [1, 2, 3, 4, 5]의 1번째 인덱스 2부터 3번째 인덱스 4 까지 자른 [2, 3, 4]를 return 합니다.
설명 #2 : [1, 3, 5]의 1번째 인덱스 3부터 2번째 인덱스 5까지 자른 [3, 5]를 return 합니다.
<풀이>
풀이 & 설명
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// numbers_len은 배열 numbers의 길이입니다.
int* solution(int numbers[], size_t numbers_len, int num1, int num2) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int* answer = (int*)malloc(numbers_len * sizeof(int));
// numbers 배열에서 num1번째 인덱스부터 num2번째 인덱스까지의 원소를 잘라서 answer 배열에 저장합니다.
for (size_t i = num1; i <= num2; i++) {
// answer 배열의 인덱스는 0부터 시작하므로, i - num1을 사용하여 적절한 인덱스로 매핑합니다.
answer[i - num1] = numbers[i];
}
// 자른 배열의 주소를 반환합니다.
return answer;
}
<결과>

'2023-SWLUG > 2023sv' 카테고리의 다른 글
| 5주차_양꼬치 (0) | 2023.08.06 |
|---|---|
| 5주차_편지 (0) | 2023.08.06 |
| 4주차_배열 뒤집기 (0) | 2023.08.06 |
| 4주차_배열의 평균 (0) | 2023.07.31 |
| 3주차_짝수의 합 (0) | 2023.07.22 |