[문제 링크]
def solution(n, m, x, y, r, c, k):
# dlru
nm = [0] * 4
if x > r:
nm[3] = x - r
else:
nm[0] = r - x
if y > c:
nm[1] = y - c
else:
nm[2] = c - y
left = k - sum(nm)
if left < 0 or left % 2 == 1:
return "impossible"
left //= 2
mx = n - max(x, r)
my = min(y, c) - 1
l = [0] * 3
if mx > left:
l[0] = left
else:
l[0] = mx
left -= mx
if my > left:
l[1] = left
else:
l[1] = my
left -= my
l[2] = left
return 'd' * (nm[0] + l[0]) + 'l' * (nm[1] + l[1]) + 'rl' * l[2] + 'r' * (nm[2] + l[1]) + 'u' * (nm[3] + l[0])
- 문제를 풀기 전에 손으로 그려보면서 어떤 상황인지 생각하고 푸는 것이 중요하다는 것을 다시 한번 느꼈다