자바 문제 풀이/기초문제

[프로그래머스 자바]가까운 1 찾기

ari0930 2024. 4. 10. 15:53

[프로그래머스 자바] 가까운 1 찾기

 

문제

정수 배열 arr이 주어진다. arr은 0,1로 이루어진 배열이다.

정수 idx가 주어질때 인덱스값이 idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요. 

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

입출력

풀이

문제의 조건대로 배열 arr을 탐색하여 하고 현재 인덱스값이 idx이상일경우 인덱스값을 반환하면 된다.

나는 for문을 배열의 값으로 탐색하고 하나 탐색할 때마다 answer값을 +1을 해주면서 현재의 인덱스값을 확인하였다.

탐색하면 조건에 맞는 답이 나면 check =true 로 변경하고 반복문을 종료하였다 만약 check 값이 false 이면 우리가 원하는 조건의 답이 없다는 거니 -1을 answer에 넣어주고 answer을 리턴해준다.

코드

class Solution {
    public int solution(int[] arr, int idx) {
        int answer = 0;
        boolean check=false;
        for (int i: arr){
            if (i==1&&idx<=answer){
                check=true;
                break;
            }
            answer++;
            
        }
        if (!check){
            answer=-1;
        }
        
        return answer;
    }
}

 

반응형