프로그래머스/LEVEL 1
파이썬 키패드 누르기
GenieLove!
2021. 2. 20. 22:54
728x90
반응형
def solution(numbers, hand):
keypad = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[-1, 0, -2]]
answer = ''
left = [3, 0]
right = [3, 2]
col = 0
row = 0
for number in numbers:
if number == 0:
col = 3
row = 1
else:
col = (number - 1)//3
row = (number - 1)%3
if row == 0:#왼손만 누를 수 있는 곳
answer += "L"
left[0] = col
left[1] = row
elif row == 2:#오른손만 누를 수 있는 곳
answer += "R"
right[0] = col
right[1] = row
else:#양손 다 가능하면 거리계산
left_l = abs(left[0] - col) + abs(left[1] - row)
right_l = abs(right[0] - col) + abs(right[1] - row)
if left_l < right_l or ((left_l == right_l) and hand == "left"):
answer += "L"
left[0] = col
left[1] = row
elif right_l < left_l or ((left_l == right_l) and hand == "right"):
answer += "R"
right[0] = col
right[1] = row
return answer
728x90
반응형