[프로그래머스/Java] Lv.0 가까운 1 찾기

febCho·2024년 3월 8일
0

코딩테스트

목록 보기
55/253
post-thumbnail

문제

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

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

- 제한사항

  • 3 ≤ arr의 길이 ≤ 100,000
  • arr의 원소는 전부 1 또는 0입니다.

풀이

가장 작은 인덱스를 찾는 거였기 때문에 i가 순차적으로 증가하는 과정에서 idx보다 크고 배열의 값이 1인 인덱스가 있다면 바로 루프를 빠져나오도록 break;를 명시했다.

class Solution {
    public int solution(int[] arr, int idx) {
        int answer = 0;
        
        for(int i=0;i<arr.length;i++){
            if(i >= idx && arr[i] == 1) {
                answer = i;
                break;
            }else if(i >= idx && arr[i] != 1) {
                answer = -1;
            }    
        }
        return answer;
    }
}

결과

profile
Done is better than perfect.

0개의 댓글