https://app.codility.com/programmers/lessons/4-counting_elements/frog_river_one/

 

FrogRiverOne coding task - Learn to Code - Codility

Find the earliest time when a frog can jump to the other side of a river.

app.codility.com

 

  • 개구리가 강의 반대편으로 점프할 수 있는 가장 이른 시간 구하기
  • 나뭇잎이 시간에 따라 떨어지는 위치 배열 A, 목표 위치 정수 X 
  • 개구리는 1부터 X번까지 강 건너 모든 위치에 나뭇잎이 나타날 때만 건널 수 있다.
  • ex. X = 5, 배열 A[0] = 1 A[1] = 3 A[2] = 1 A[3] = 4 A[4] = 2 A[5] = 3 A[6] = 5 A[7] = 4
    • 1에서부터 5까지 연속된 숫자로 모든 나뭇잎이 떨어져야 한다.
    • 6초일 때, 1부터 5까지 모든 나뭇잎이 깔리기 때문에 6을 출력해준다.
    • 개구리가 이동할 수 없는경우 -1 출력
  • O(N)

 

def solution(X, A):
    arr = [0]*X
    sum = 0
    for idx, value in enumerate(A):
        if arr[value-1] == 0:
            arr[value-1] = 1
            sum = sum + 1
            if sum == X:
                return idx
    return -1

+ Recent posts