728x90
https://programmers.co.kr/learn/challenges?tab=all_challenges
문제는 lv1. python3로 필터링한 후 키패드 누르기를 클릭해 시작하였다.
def solution(numbers, hand):
lux=[[1,2,3],[4,5,6],[7,8,9],["*",0,"#"]]
left = [1,4,7]
right=[3,6,9]
l=""
left_hand="*"
right_hand="#"
for i in range(len(numbers)):
if numbers[i] in left:
left_hand = numbers[i]
l+='L'
elif numbers[i] in right:
right_hand= numbers[i]
l+='R'
else:
x=[(k,l) for k in range(4) for l in range(3) if lux[k][l]==numbers[i]]
y=[(k,l) for k in range(4) for l in range(3) if lux[k][l]==left_hand]
z=[(k,l) for k in range(4) for l in range(3) if lux[k][l]==right_hand]
if (abs(x[0][0]-y[0][0])+abs(x[0][1]-y[0][1])) > (abs(x[0][0]-z[0][0])+abs(x[0][1]-z[0][1])):
right_hand= numbers[i]
l+='R'
elif (abs(x[0][0]-y[0][0])+abs(x[0][1]-y[0][1])) < (abs(x[0][0]-z[0][0])+abs(x[0][1]-z[0][1])):
left_hand = numbers[i]
l+='L'
else:
if hand=="right":
right_hand= numbers[i]
l+='R'
else:
left_hand = numbers[i]
l+='L'
return l
더 쉬운 방법이 있겠지만 일단은 여기까지만 하겠다..
728x90
'Ccode > Coding_Test' 카테고리의 다른 글
숫자 짝꿍 (0) | 2022.10.07 |
---|---|
2019 KAKAO BLIND RECRUITMENT_실패율 (0) | 2021.09.06 |
2021 KAKAO BLIND RECRUITMENT_신규아이디 추천 (0) | 2021.08.27 |
2021 카카오 채용연계형 인턴십_숫자 문자열과 영단어 (0) | 2021.08.25 |
프로그래머스_코딩테스트연습_위클리챌린지_4주차 (0) | 2021.08.24 |