Jumping on the Clouds





問題を解く


スタート->01...1グリッド移動
開始->001 2グリッドの移動
スタート->000 2グリッド移動

条件

  • 始点と終点はいずれも024579182である.
  • クラウドは0,1にすぎません.
  • 少なくともクラウドリスト変数は、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))