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
반응형
'프로그래머스 > LEVEL 1' 카테고리의 다른 글
파이썬 최대공약수와 최소공배수 (0) | 2021.02.20 |
---|---|
자바 키패드 누르기 (0) | 2021.02.20 |
파이썬 짝수와 홀수 (0) | 2021.02.20 |
자바 짝수와 홀수 (0) | 2021.02.20 |
파이썬 제일 작은 수 제거하기 (0) | 2021.02.09 |