https://programmers.co.kr/learn/courses/30/lessons/67256/solution_groups?language=python3&type=my
def distance(left_loc, right_loc, mid_loc):
return [abs(left_loc[0]-mid_loc[0])+abs(left_loc[1]-mid_loc[1]), abs(right_loc[0]-mid_loc[0])+abs(right_loc[1]-mid_loc[1])]
def solution(numbers, hand):
num= [[1,4,7,"*"],[2,5,8,0],[3,6,9,"#"]]
result=""
left_loc=[0,3]
mid_loc=[1,0]
right_loc=[2,3]
for i in numbers:
if i in num[0]: result+="L"; left_loc= [0,num[0].index(i)]
if i in num[2]: result += "R"; right_loc= [2, num[2].index(i)]
if i in num[1]:
mid_loc[1]= num[1].index(i)
lst= distance(left_loc, right_loc, mid_loc)
if lst[0]>lst[1]: result+="R"; right_loc=[1, num[1].index(i)]
elif lst[0]<lst[1]: result +="L"; left_loc= [1,num[1].index(i)]
else:
if hand[0].upper() =="L": result+="L"; left_loc= [1,num[1].index(i)]
else: result += "R"; right_loc=[1,num[1].index(i)]
return result
'python > 알고리즘 문제풀이' 카테고리의 다른 글
그리디 알고리즘 (1) / 그리디 알고리즘이란 (0) | 2021.06.25 |
---|---|
시간복잡도/ BigO표기법 (0) | 2021.06.24 |
[프로그래머스 | 파이썬3] 로또의 최고 순위와 최저 순위 (1) | 2021.05.20 |
[프로그래머스 | 파이썬3] 크레인 인형뽑기 게임 (1) | 2021.05.19 |
[프로그래머스 | 파이썬3] 신규 아이디 추천_정규표현식, strip활용 (1) | 2021.05.18 |