https://app.codility.com/programmers/lessons/4-counting_elements/frog_river_one/
- 개구리가 강의 반대편으로 점프할 수 있는 가장 이른 시간 구하기
- 나뭇잎이 시간에 따라 떨어지는 위치 배열 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
'코딩테스트 > Codility' 카테고리의 다른 글
[codility] Lesson 5. Prefix Sums - PassingCars (0) | 2022.08.12 |
---|---|
[codility] Lesson 4. Counting Elements - PermCheck (0) | 2022.08.12 |
[codility] Lesson 3. Time Complexity - TapeEquilibrium (0) | 2022.08.06 |
[codility] Lesson 3. Time Complexity - PermMissingElem (0) | 2022.08.06 |
[codility] Lesson 3. Time Complexity - FrogJmp (0) | 2022.08.06 |