プログラマ/プログラマ-キーボードを押す-python
7150 ワード
質問する
コード#コード#
# https://programmers.co.kr/learn/courses/30/lessons/67256
# programmers, level1: 키패드 누르기, python3
def solution(numbers: list, hand: str) -> str:
left, right = [1, 4, 7], [3, 6, 9]
left_finger, right_finger = 10, 12
answer = ''
for number in numbers:
if number == 0:
number = 11
# 왼속으로 칠 수 있는 경우
if number in left:
answer += 'L'
left_finger = number
# 오른손으로 칠 수 있는 경우
elif number in right:
answer += 'R'
right_finger = number
# 가운데 열인 경우
else:
# 왼손이 더 가까운 경우
if sum(divmod(abs(left_finger-number), 3)) < sum(divmod(abs(right_finger-number), 3)):
answer += 'L'
left_finger = number
# 오른손이 더 가까운 경우
elif sum(divmod(abs(left_finger-number), 3)) > sum(divmod(abs(right_finger-number), 3)):
answer += 'R'
right_finger = number
# 왼손과 오른손의 거리가 같을 경우 주로 사용하는 손으로 선택
else:
if hand == 'left':
answer += 'L'
left_finger = number
else:
answer += 'R'
right_finger = number
return answer
結果
ソース&ハーブ
Programmerキーボードを押す
GITHUB
Reference
この問題について(プログラマ/プログラマ-キーボードを押す-python), 我々は、より多くの情報をここで見つけました https://velog.io/@cosmos/Programmers프로그래머스-키패드-누르기-pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol