Written by
최태열
on
on
[Python][프로그래머스][Level2] 키패드 누르기
[Python][프로그래머스][Level2] 키패드 누르기
코드
def solution(numbers, hand):
answer = ''
key=dict()
key[0],key[1],key[2],key[3],key[4],key[5],key[6],key[7],key[8],key[9]=[3,1],[0,0],[0,1],[0,2],[1,0],[1,1],[1,2],[2,0],[2,1],[2,2]
left,right=[3,0],[3,2]
for number in numbers:
if number==1 or number==4 or number==7:
answer+='L'
left=key[number]
elif number==3 or number==6 or number==9:
answer+='R'
right=key[number]
elif abs(key[number][0]-left[0])+abs(key[number][1]-left[1])>abs(key[number][0]-right[0])+abs(key[number][1]-right[1]):
answer+='R'
right=key[number]
elif abs(key[number][0]-left[0])+abs(key[number][1]-left[1])<abs(key[number][0]-right[0])+abs(key[number][1]-right[1]):
answer+='L'
left=key[number]
else:
if hand=="right":
answer+='R'
right=key[number]
else:
answer+='L'
left=key[number]
return answer
키패드를 2차원 좌표로 변환했다.
초기 위치를 [3,0], [3,2]라 하고
번호에 맞게 답에 L 또는 R을 추가해준다.
Discussion and feedback