프로그래머스코딩테스트연습풀이/C언어

[프로그래머스/C언어] 가까운 1 찾기

코코쵸마 2023. 8. 4. 11:25

문제

정수 배열 arr가 주어집니다. 이때 arr의 원소는 1 또는 0입니다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요.

단, 만약 그러한 인덱스가 없다면 -1을 반환합니다.

 

솔루션

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

// arr_len은 배열 arr의 길이입니다.
int solution(int arr[], size_t arr_len, int idx) {
    int i = 0;
    for(i = idx; i < arr_len; i++)
        if(arr[i] == 1)
            return i;
    if(i > arr_len)
        return -1;
}