Jumping on the Clouds

Hyeseong·2021년 4월 6일
0

문제 풀이

시작->01... 1칸 이동
시작->001 2칸 이동
시작->000 2칸 이동

조건

  1. 시작과 끝 지점은 모두 0
  2. 구름은 0, 1의 값만 갖는다.
  3. 적어도 구름 리스트 변수는 2개이상 100개이하의 리스트의 길이를 갖는다.
def jumpingOnClouds(cloud_list):
    goal_index = len(cloud_list)-1 # 리스트의 마지막 인덱스
    check_index = 0
    jump_count = 0
    
    while(check_index < goal_index):
        if (check_index + 2 <= goal_index and cloud_list[check_index+2] == 0): # 왼쪽은 리스트의 길이가 2개 이상인지 확인하고 오른쪽은 바로 2칸 갈 수 있는 확인        checkv_index = check_index + 2 # 2칸 앞으로 점프가 되면 현재 인덱스의 위치를 바꿔버림
            check_index += 2 # 인덱스를 +2씩증가(jump) 시킴!
            jump_count  += 1 # 점프를 2칸했든 한칸했든 행위자체를 1개로 보고 더함 점프 행위 자체를 카운트함
        elif cloud_list[check_index + 1] == 0: # 바로 2칸으로 이동 못 할 경우    
            check_index += 1
            jump_count  += 1
        else:
            check_index += 1
            jump_count  += 1
        print('인덱스 위치',check_index) # 현재 위치를 알려줌(인덱스)
    return jump_count

cloud_list = [int(value) for value in '0 0 0 0 1 0'.split(' ')]
print('점프횟수',jumpingOnClouds(cloud_list))
profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글

관련 채용 정보