Algorithm/programmers/caka実習/キーボードを押す(Pythonを使用)
6610 ワード
📖 質問する
📝 解法
パスワード # 더 가까운 손가락이 무엇인지 알려주는 함수
def closed(left, right, num):
l = abs(left - num)
r = abs(right - num)
# 왼손가락 이동 횟수
l = l // 3 + l % 3
# 오른손가락 이동 횟수
r = r // 3 + r % 3
# 왼쪽이 더 가까운 경우
if l < r:
return 1
# 오른쪽이 더 가까운 경우
elif l > r:
return -1
# 왼쪽이랑 오른쪽이랑 똑같은 횟수로 이동해야 하는 경우
else:
return 0
def solution(numbers, hand):
answer = ''
l = [1, 4, 7]
r = [3, 6, 9]
left_finger = 10
right_finger = 12
for number in numbers:
if number in l:
answer += 'L'
left_finger = number
elif number in r:
answer += 'R'
right_finger = number
else:
if number == 0:
number = 11
closer = closed(left_finger, right_finger, number)
if closer == 1:
answer += 'L'
left_finger = number
elif closer == -1:
answer += 'R'
right_finger = number
else:
if hand == "right":
answer += 'R'
right_finger = number
else:
answer += 'L'
left_finger = number
return answer
Reference
この問題について(Algorithm/programmers/caka実習/キーボードを押す(Pythonを使用)), 我々は、より多くの情報をここで見つけました
https://velog.io/@yellowsummer/Algorithmprogrammers카카오-인턴십키패드-누르기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
パスワード # 더 가까운 손가락이 무엇인지 알려주는 함수
def closed(left, right, num):
l = abs(left - num)
r = abs(right - num)
# 왼손가락 이동 횟수
l = l // 3 + l % 3
# 오른손가락 이동 횟수
r = r // 3 + r % 3
# 왼쪽이 더 가까운 경우
if l < r:
return 1
# 오른쪽이 더 가까운 경우
elif l > r:
return -1
# 왼쪽이랑 오른쪽이랑 똑같은 횟수로 이동해야 하는 경우
else:
return 0
def solution(numbers, hand):
answer = ''
l = [1, 4, 7]
r = [3, 6, 9]
left_finger = 10
right_finger = 12
for number in numbers:
if number in l:
answer += 'L'
left_finger = number
elif number in r:
answer += 'R'
right_finger = number
else:
if number == 0:
number = 11
closer = closed(left_finger, right_finger, number)
if closer == 1:
answer += 'L'
left_finger = number
elif closer == -1:
answer += 'R'
right_finger = number
else:
if hand == "right":
answer += 'R'
right_finger = number
else:
answer += 'L'
left_finger = number
return answer
Reference
この問題について(Algorithm/programmers/caka実習/キーボードを押す(Pythonを使用)), 我々は、より多くの情報をここで見つけました
https://velog.io/@yellowsummer/Algorithmprogrammers카카오-인턴십키패드-누르기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
# 더 가까운 손가락이 무엇인지 알려주는 함수
def closed(left, right, num):
l = abs(left - num)
r = abs(right - num)
# 왼손가락 이동 횟수
l = l // 3 + l % 3
# 오른손가락 이동 횟수
r = r // 3 + r % 3
# 왼쪽이 더 가까운 경우
if l < r:
return 1
# 오른쪽이 더 가까운 경우
elif l > r:
return -1
# 왼쪽이랑 오른쪽이랑 똑같은 횟수로 이동해야 하는 경우
else:
return 0
def solution(numbers, hand):
answer = ''
l = [1, 4, 7]
r = [3, 6, 9]
left_finger = 10
right_finger = 12
for number in numbers:
if number in l:
answer += 'L'
left_finger = number
elif number in r:
answer += 'R'
right_finger = number
else:
if number == 0:
number = 11
closer = closed(left_finger, right_finger, number)
if closer == 1:
answer += 'L'
left_finger = number
elif closer == -1:
answer += 'R'
right_finger = number
else:
if hand == "right":
answer += 'R'
right_finger = number
else:
answer += 'L'
left_finger = number
return answer
Reference
この問題について(Algorithm/programmers/caka実習/キーボードを押す(Pythonを使用)), 我々は、より多くの情報をここで見つけました https://velog.io/@yellowsummer/Algorithmprogrammers카카오-인턴십키패드-누르기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol