https://school.programmers.co.kr/learn/courses/30/lessons/172928
def solution(park, routes):
# E, W, N, S
direct = {'E': [0, 1], 'W': [0, -1], 'S': [1, 0], 'N': [-1, 0]}
x, y = 0, 0 # 열 행
n, m = len(park[0]), len(park) # 열 행
maps = []
for idx1, p in enumerate(park):
map = []
for idx2, p_ in enumerate(p):
if p_ == 'S':
x = idx2
y = idx1
map.append(p_)
maps.append(map)
map = []
for route in routes:
d, num = route.split(' ')
px, py = x, y
for _ in range(int(num)):
nx, ny = x + direct[d][1], y + direct[d][0]
if (nx >= n or nx < 0) or (ny >= m or ny < 0) or (maps[ny][nx] == 'X'):
x, y = px, py
break
else:
x, y = nx, ny
return [y, x]
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] / [Level 1] / [Python] 가장 가까운 같은 글자 (0) | 2023.06.27 |
---|---|
[프로그래머스] / [Level 1] / [Python] 푸드 파이트 대회 (0) | 2023.06.23 |
[프로그래머스] / [Level 3] / [Python] 등굣길 (0) | 2023.04.03 |
[프로그래머스] / [Level 3] / [Python] 야근 지수 (0) | 2023.04.03 |
[프로그래머스] / [Level 3] / [Python] 이중우선순위 큐 (0) | 2023.04.03 |