문제출처 : 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)))
도착점에서 시작점을 찾아가는 방식을 생각해내지 못했다.
함수 작성시에 어떤식으로 짜야하는지 구상하는데 시간이 오래걸렸다.