-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathday1.py
34 lines (31 loc) · 949 Bytes
/
day1.py
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
import sys, argparse
def arg_parser():
parser = argparse.ArgumentParser()
parser.add_argument('input file', help ='please provide an input file containing a list of ints.', type=str)
return parser
def main( argv ):
l = []
arg = arg_parser().parse_args(argv[1:])
with open( argv[1], 'r' ) as f:
for line in f:
l.append( int( line.strip( '\n' ) ) )
#part one:
for i in l:
r = 2020-i
if r in l:
print( f'part one pair found: {i}, {r}, { i * r }' )
break
#part two:
for i in l:
r1 = 2020 - i
for j in l:
r2 = r1 - j
if r2 in l:
if i == j:
continue
if j == r2:
continue
print(f'part two answer found: { i, j, r2 }, { i * j * r2 }')
return
if __name__ == '__main__':
sys.exit( main( sys.argv ) )