-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathadventofcodeDay12Part2.py
More file actions
59 lines (47 loc) · 1.55 KB
/
adventofcodeDay12Part2.py
File metadata and controls
59 lines (47 loc) · 1.55 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
51
52
53
54
55
56
57
58
59
navigationInstructions =[[line.strip()[0],int(line.strip()[1:])] for line in open("/home/piyi/Documents/adventofcode2020/input.txt", 'r')]
print(navigationInstructions)
# cardinalDirections = ['east' - 0, 'north' - 90, 'west' - 180, 'south' - 270]
ferry = {'east': 0, 'north':0}
waypoint = {'east': 10, 'north':1 }
for instruction in navigationInstructions:
action = instruction[0]
value = instruction[1]
if action == 'N':
waypoint['north'] = waypoint['north']+value
if action == 'S':
waypoint['north'] = waypoint['north']-value
if action == 'E':
waypoint['east'] = waypoint['east']+value
if action == 'W':
waypoint['east'] = waypoint['east']-value
if action == 'F' :
ferry['east'] = ferry['east']+value*waypoint['east']
ferry['north'] = ferry['north']+value*waypoint['north']
if action == 'R':
if value == 90 :
e = waypoint['east']
waypoint['east'] = waypoint['north']
waypoint['north'] = -e
if value == 180 :
waypoint['north'] = -waypoint['north']
waypoint['east'] = -waypoint['east']
if value == 270:
e = waypoint['east']
waypoint['east'] = -waypoint['north']
waypoint['north'] = e
if action == 'L':
if value == 270 :
e = waypoint['east']
waypoint['east'] = waypoint['north']
waypoint['north'] = -e
if value == 180 :
waypoint['north'] = -waypoint['north']
waypoint['east'] = -waypoint['east']
if value == 90:
e = waypoint['east']
waypoint['east'] = -waypoint['north']
waypoint['north'] = e
print(instruction)
print(ferry)
print(waypoint)
print(abs(ferry['north'])+abs(ferry['east']))