https://programmers.co.kr/learn/courses/30/lessons/67256
def solution(numbers, hand):
answer = ''
left = "*"
right = "#"
num_list = [[1,2,3],[4,5,6],[7,8,9],["*",0,"#"]]
num_dic = {}
for i in range(len(num_list)):
for j in range(len(num_list[i])):
num_dic[num_list[i][j]] = [i,j]
for num in numbers:
if num in [1,4,7]:
answer+="L"
left = num
elif num in [3,6,9]:
answer+="R"
right = num
else:
cur_num = num_dic[num]
left_num = num_dic[left]
right_num = num_dic[right]
left_len = 0
right_len = 0
for n in range(len(left_num)):
left_len += abs(cur_num[n] - left_num[n])
right_len += abs(cur_num[n] - right_num[n])
if hand == "right":
if left_len >= right_len:
right = num
answer+="R"
else:
left=num
answer+="L"
else:
if left_len > right_len:
right = num
answer+="R"
else:
left=num
answer+="L"
return answer'파이썬 코딩테스트 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 / 로또의 최고 순위와 최저 순위 / 파이썬 (0) | 2022.02.24 |
|---|---|
| 프로그래머스 / 크레인 인형 뽑기 / 파이썬 (0) | 2022.02.24 |
| 프로그래머스 / 신고 결과 받기 / 파이썬 (0) | 2022.02.24 |
| 프로그래머스 / 수식 최대화 / 파이썬 (0) | 2022.02.18 |
| 프로그래머스 / 주차 요금 계산 / 파이썬 (0) | 2022.02.18 |