반응형

프로그래머스 코딩 테스트에 있는 문제 "리스트 자르기"를 풀어본다.

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

// slicer_len은 배열 slicer의 길이입니다.
// num_list_len은 배열 num_list의 길이입니다.
int* solution(int n, int slicer[], size_t slicer_len, int num_list[], size_t num_list_len) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    int* answer = (int*)malloc(sizeof(int) * num_list_len);
    int ptr = 0;
    if(n == 1) {
        for(int i = 0;i <= slicer[1];i++)
            answer[ptr++] = num_list[i];
    }
    else if(n == 2) {
        for(int i = slicer[0];i < num_list_len;i++)
            answer[ptr++] = num_list[i];
    }
    else if(n == 3) {
        for(int i = slicer[0];i <= slicer[1];i++)
            answer[ptr++] = num_list[i];
    }
    else if(n == 4) {
        for(int i = slicer[0];i <= slicer[1];i += slicer[2])
            answer[ptr++] = num_list[i];
    }
    return answer;
}

문제에서 주어진 각 조건에 따라 프로그래밍을 한다.

반응형

'코딩테스트' 카테고리의 다른 글

옹알이 (1)  (0) 2025.09.20
주사위 게임 3  (0) 2025.09.20
수열과 구간 쿼리 2  (0) 2025.09.20
글자 지우기  (0) 2025.09.20
접미사 배열  (0) 2025.09.20
Posted by 세상을 살아가는 사람
,