알고리즘 문제풀이
문제 링크
def solution(numbers, hand):
answer = ''
x = [[1,0], [0,3], [1,3], [2,3], [0,2], [1,2], [2,2],
[0,1], [1,1], [2,1], [0,0], [2,0]]
prev_left = x[10]
prev_right = x[11]
for num in numbers:
if num in [1, 4, 7]:
answer += 'L'
prev_left = x[num]
elif num in [3, 6, 9]:
answer += 'R'
prev_right = x[num]
else:
left_len = abs(x[num][0] - prev_left[0]) + abs(x[num][1] - prev_left[1])
right_len = abs(x[num][0] - prev_right[0]) + abs(x[num][1] - prev_right[1])
if left_len < right_len:
answer += 'L'
prev_left = x[num]
elif right_len < left_len:
answer += 'R'
prev_right = x[num]
else:
if hand == 'left':
answer += 'L'
prev_left = x[num]
else:
answer += 'R'
prev_right = x[num]
return answer