-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgrammers_03.py
More file actions
50 lines (40 loc) · 1.31 KB
/
Programmers_03.py
File metadata and controls
50 lines (40 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import math
def solution(numbers, hand):
answer = []
dic_num = {}
dic_num[0] = [1,3]
dic_num["*"] = [0,3]
dic_num["#"] = [2,3]
hand_L = "*"
hand_R = "#"
for i in range(0,9):
dic_num[i+1] = [i%3,i//3]
print(dic_num[3])
for number in numbers:
if number in [1,4,7]:
hand_L = number
answer.append("L")
elif number in [3,6,9]:
hand_R = number
answer.append("R")
else:
L_x = abs(dic_num[hand_L][0] - dic_num[number][0])
L_y = abs(dic_num[hand_L][1] - dic_num[number][1])
R_x = abs(dic_num[hand_R][0] - dic_num[number][0])
R_y = abs(dic_num[hand_R][1] - dic_num[number][1])
distance_L = L_x + L_y
distance_R = R_x + R_y
if distance_L == distance_R:
if hand == "left":
hand_L = number
answer.append("L")
else:
hand_R = number
answer.append("R")
elif distance_L < distance_R:
hand_L = number
answer.append("L")
else:
hand_R = number
answer.append("R")
return "".join(answer)