[프로그래머스] 키패드 누르기
다시 풀어보기 !
파이썬
def solution(numbers, hand):
answer=''
pad = {'1':(0,0), '2':(0,1), '3':(0,2),
'4':(1,0), '5':(1,1), '6':(1,2),
'7':(2,0), '8':(2,1), '9':(2,2),
'*':(3,0), '0':(3,1), '#':(3,2)
}
left = pad['*']
right = pad['#']
for i in numbers:
if i in [1,4,7]:
answer += 'L'
left=pad[str(i)]
elif i in [3,6,9] :
answer += 'R'
right=pad[str(i)]
else :
left_dis = abs(left[0] - pad[str(i)][0]) + abs(left[1] - pad[str(i)][1])
right_dis = abs(right[0] - pad[str(i)][0]) + abs(right[1] - pad[str(i)][1])
if left_dis < right_dis :
answer += 'L'
left = pad[str(i)]
elif left_dis > right_dis :
answer += 'R'
right = pad[str(i)]
else :
if hand == 'right' :
answer += 'R'
right = pad[str(i)]
else :
answer += 'L'
left = pad[str(i)]
return answer
댓글남기기