1210. [S/W 문제해결 기본] 2일차 - Ladder1

Sarah·2021년 8월 29일
0

SWE

목록 보기
10/19

문제출처 : SW Expert Academy

문제

당첨도착점에 도달할수있는 사다리의 위치를 출력하라!

코드

import sys
sys.stdin = open('input.txt')

def search_start(now_x, now_y):

    while now_x > 0:
        # 첫 본자리는 봤으니까 밑에 조건에 안걸리는 수로 바꾸기
        data[now_x][now_y] = 0

        # 왼쪽 오른쪽 살피기
        if 0 <= now_y-1 <= 99 and data[now_x][now_y-1] == 1:
            now_y -= 1

        # 오른쪽 살피기
        elif now_y+1 <= 99 and data[now_x][now_y+1] == 1:
            now_y += 1
	# 둘다 아니면 위로 올라가기
        else:
            now_x -= 1

    return now_y

T = 10
for tc in range(1, T+1):
    # 테스트 케이스 번호
    N = int(input())
    # 100 x 100 크기의 2차원 배열로 주어진 사다리
    data = [list(map(int, input().split())) for _ in range(100)]

    # 도착점 좌표 찾기
    for i in range(100):
        if data[99][i] == 2:
            end = i

    print("#{} {}".format(tc, search_start(99, end)))

장애물

  1. 도착점에서 시작점을 찾아가는 방식을 생각해내지 못했다.

  2. 함수 작성시에 어떤식으로 짜야하는지 구상하는데 시간이 오래걸렸다.

profile
2021.06 ~

0개의 댓글