본문 바로가기
프로그래머스/Java

가까운 1 찾기

by HoPpangg 2023. 5. 24.
SMALL

문제)

정수 배열 arr가 주어집니다.

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

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

 

제한사항

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

 

입출력 예

[0, 0, 0, 1] 1 3
[1, 0, 0, 1, 0, 0] 4 -1
[1, 1, 1, 1, 0] 3 3

 

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

'프로그래머스 > Java' 카테고리의 다른 글

달리기 경주  (0) 2023.05.25
추억 점수  (0) 2023.05.24
더 크게 합치기  (0) 2023.05.24

댓글