2020 KACO実習-キーボードを押す
2974 ワード
react学習とcapstone設計プロジェクトのため、しばらくcotteは行われていません😂
04.26解決の問題任堂🌷
キーボードを押す
いくつかのエラーのテストが発生します...😭😭😭😭
効率が良く、精度100%のコードです.👍🐰🐰
コードが間違っている時に新しいのを取り替えるのも良い方法で、ほほほ
04.26解決の問題任堂🌷
キーボードを押す
def solution(numbers, hand):
answer = ''
lPhone=[1,4,7,'*']
rPhone=[3,6,9,'#']
mP=[2,5,8,0]
lH=True
rH=False
lindex=3
rindex=3
for i in numbers:
#왼손 키패트
if i==1 or i==4 or i==7:
answer+='L'
lH=True
#왼손의 위치를 갱신
lindex=lPhone.index(i)
continue
#오른손 키패드
elif i==3 or i==6 or i==9:
answer+='R'
rH=True
#오른손의 위치를 갱신
rindex=rPhone.index(i)
continue
#가운데 키패드
else :
index=mP.index(i)
rlen=abs(rindex-index)
llen= abs(lindex-index)
#둘 중 한손이 가운데 키패드가 아닐때
if rH != lH:
if rH : rlen +=1
if lH : llen +=1
if llen < rlen:
answer+='L'
lH=False
lindex=index
elif llen > rlen:
answer+='R'
rH=False
rindex=index
elif llen == rlen:
if hand=='right':
answer+='R'
rH=False
rindex=index
else:
answer+='L'
lH=False
lindex=index
return answer
いくつかのエラーのテストが発生します...😭😭😭😭
def solution(numbers, hand):
answer = ''
phone=[[3,1],[0,0],[0,1],[0,2], #0,1,2,3
[1,0],[1,1],[1,2], #4,5,6
[2,0],[2,1],[2,2], #7,8,9
]
lh=[3,0] #'*'
rh=[3,2] #'#'
for i in numbers:
if i==1 or i==4 or i==7:
answer+='L'
lh=phone[i]
elif i==3 or i==6 or i==9:
answer+='R'
rh=phone[i]
else:
now=phone[i]
l_dist=abs(now[0]-lh[0])+abs(now[1]-lh[1])
r_dist=abs(now[0]-rh[0])+abs(now[1]-rh[1])
if l_dist < r_dist :
answer+='L'
lh=now
elif l_dist > r_dist:
answer+='R'
rh=now
else :
if hand=='right':
answer+='R'
rh=now
else:
answer+='L'
lh=now
return answer
左手のキーボード、右手のキーボードを問わず、携帯電話のインデックスを携帯電話番号とし、価格を位置とする.効率が良く、精度100%のコードです.👍🐰🐰
コードが間違っている時に新しいのを取り替えるのも良い方法で、ほほほ
Reference
この問題について(2020 KACO実習-キーボードを押す), 我々は、より多くの情報をここで見つけました https://velog.io/@mlsh1112/2020-카카오-인턴십-키패드-누르기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol