728x90
반응형
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/172928
풀이:
def solution(park, routes):
answer = []
start = []
for i in range(len(park)):
if 'S' in park[i]:
start = [i, park[i].find('S')]
break
print(start)
for route in routes:
dir, move = route.split(' ')
move = int(move)
if dir == 'E':
loc = start[1] + move
if loc >= len(park[0]):
continue
if 'X' in park[start[0]][start[1]+1:loc+1]:
continue
else:
start[1] = loc
elif dir == 'W':
loc = start[1] - move
if loc < 0:
continue
if 'X' in park[start[0]][loc:start[1]]:
continue
else:
start[1] = loc
elif dir == 'S':
loc = start[0] + move
if loc >= len(park):
continue
if 'X' in [park[i][start[1]] for i in range(start[0]+1,loc+1)]:
continue
else:
start[0] = loc
elif dir == 'N':
loc = start[0] - move
if loc < 0:
continue
if 'X' in [park[i][start[1]] for i in range(loc,start[0])]:
continue
else:
start[0] = loc
return start
반응형
댓글