본문 바로가기

코딩/프로그래머스

[프로그래머스 / 파이썬] 가까운 1찾기

728x90
반응형

문제 설명

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

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


제한사항

  • 3 ≤ arr 길이 ≤ 100'000

입출력

arr idx result
[0, 0, 0, 1] 1 3
[1, 0, 0, 1, 0, 0] 4 -1
[1, 1, 1, 1, 0] 3 3

입출력 설명

입출력 #1

  • 1보다 크면서 원소가 1 가장 작은 인덱스는 3입니다. 따라서 3 return 합니다.

입출력 #2

  • 4 인덱스 이후에 1 등장하지 않습니다. 따라서 -1 return 합니다.

입출력 #3

  • 3 인덱스의 값이 1입니다. 따라서 3 return 합니다.

 


solution.py

def solution(arr, idx):
    answer = 0
    k =  arr[idx:]
    a = 0
    for i in range(len(k)):
        if k[i] == 1:
            answer = k.index(1) + idx
            a += 1
    
    if a == 0 :
        answer = -1
        
        

    return answer



반응형