Compare commits
2 commits
2d47813106
...
364261047d
Author | SHA1 | Date | |
---|---|---|---|
364261047d | |||
2a315e81e1 |
1 changed files with 22 additions and 0 deletions
22
day1/day1.py
Executable file
22
day1/day1.py
Executable file
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env python
|
||||
import itertools
|
||||
import sys
|
||||
from typing import Iterable
|
||||
|
||||
def product(nums: Iterable[int]) -> int:
|
||||
"""
|
||||
Returns the product of all elements in 'nums'
|
||||
"""
|
||||
x = 1
|
||||
for num in nums:
|
||||
x *= num
|
||||
return x
|
||||
|
||||
def find_summing(arity: int, nums: Iterable[int]) -> int:
|
||||
return product(next(filter(lambda xs: sum(xs) == 2020, itertools.permutations(nums, r=arity))))
|
||||
|
||||
if __name__ == '__main__':
|
||||
with open(sys.argv[1], 'r') as f:
|
||||
nums = [int(n) for n in f.readlines()]
|
||||
print(find_summing(2, nums))
|
||||
print(find_summing(3, nums))
|
Loading…
Reference in a new issue