7월 4주차 과제 : 문제 3_배열 자르기
2023. 7. 30. 17:41ㆍAlgorithm ( p & swlug )/Programmers
7월 4주차 과제는 다음과 같다.
1. 배열의 평균값
2. 배열 뒤집기
3. 배열자르기
마지막 문제이다.
마지막 문제도 동적메모리를 할당받아야한다.
흠.. 이 부분은 따로 공부가 더 필요할 것같다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int* solution(int numbers[], size_t numbers_len, int num1, int num2) {
// 자른 부분 배열의 길이 계산
size_t sub_array_len = num2 - num1 + 1;
// 동적 할당을 사용하여 자른 부분 배열 생성
int* answer = (int*)malloc(sub_array_len * sizeof(int));
// numbers 배열의 num1번째 인덱스부터 num2번째 인덱스까지의 부분 배열을 answer에 복사
for (int i = num1; i <= num2; i++) {
answer[i - num1] = numbers[i];
}
return answer;
}
int main() {
int numbers[] = {1, 2, 3, 4, 5}; // 예시 입력 배열
size_t numbers_len = sizeof(numbers) / sizeof(numbers[0]);
int num1 = 1; // 자를 시작 인덱스 (0부터 시작)
int num2 = 3; // 자를 끝 인덱스 (0부터 시작)
int* result = solution(numbers, numbers_len, num1, num2);
// 결과 출력 (자른 부분 배열)
for (int i = 0; i < num2 - num1 + 1; i++) {
printf("%d ", result[i]);
}
// 동적으로 할당한 메모리 해제
free(result);
return 0;
}
두번째 문제와 마찬가지로 시간이 부족해서 스스로 푸는데는 어려움이 있었고,
찾아봐서 해결은 했지만, 스스로 더 고민이 필요하고 공부해야할 것같다.
반복문을 이용해 배열의 요소를 복사하고 인덱스를 이용해 잘라야한다는 것 까지만 생각했다..
추후에 추가로 공부해서 설명을 더 넣어야겠다.😂
'Algorithm ( p & swlug ) > Programmers' 카테고리의 다른 글
8월 1주차 과제 : 문제 2_양꼬치 (0) | 2023.08.03 |
---|---|
8월 1주차 과제 : 문제 1_편지 (0) | 2023.08.03 |
7월 4주차 과제 : 문제 1_배열의 평균값 (0) | 2023.07.30 |
7월 4주차 과제 : 문제 2_배열 뒤집기 (0) | 2023.07.30 |
7월 3주차 과제 : 문제 3_짝수의 합 (0) | 2023.07.21 |