해결
구현 문제였습니다.
딕셔너리 같은 자료구조로 자판을 구현한 후 거리를 구하고 조건에 따라 코드를 작성할 수 있습니다.
def solution(numbers, hand):
answer=""
leftPos="*"
rightPos="#"
phone = {
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)
}
for num in numbers:
if num == 1 or num == 4 or num == 7 or num == '*':
answer += 'L'
leftPos = num
elif num == 3 or num == 6 or num == 9 or num == '#':
answer += 'R'
rightPos = num
else:
leftDis = abs(phone(leftPos)(0) - phone(num)(0)) + abs(phone(leftPos)(1) - phone(num)(1))
rightDis = abs(phone(rightPos)(0) - phone(num)(0)) + abs(phone(rightPos)(1) - phone(num)(1))
if leftDis < rightDis:
answer += 'L'
leftPos = num
elif rightDis < leftDis:
answer += 'R'
rightPos = num
else:
if hand == "right":
answer += 'R'
rightPos = num
else:
answer += 'L'
leftPos = num
return answer
링크
https://school.programmers.co.kr/learn/courses/30/lessons/67256
프로그램 제작자
코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.
Programmer.co.kr