문제
가까운 1 찾기 : 문제 링크
문제 분석
- 정수 배열 arr가 주어진다. 이때 arr의 원소는 1 또는 0이다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 return
- for loop의 초기화식을 idx로 설정하여 idx보다 크거나 같은 인덱스부터 찾도록 설정. arr의 idx부터 마지막 원소까지 검사하고, if문을 통해 1을 발견하면 해당 인덱스를 return. for loop 종료되었다면 조건에 맞는 인덱스를 찾지 못한것을 의미하므로 -1을 return
풀이
#include <vector>
using namespace std;
int solution(vector<int> arr, int idx) {
for(int i = idx; i < arr.size(); ++i) {
if(arr[i] == 1) return i;
}
return -1;
}