This is a solution to Advent of Code 2020 day 1, written in Raku and Python.
https://adventofcode.com/2020/day/1
Part One
Before you leave, the Elves in accounting just need you to fix your expense report (your puzzle input); apparently, something isn't quite adding up. Specifically, they need you to find the two entries that sum to 2020 and then multiply those two numbers together.
This problem can be solved nicely using combinations and the reduce meta operator.
Raku
my @values = '1-input.txt'.IO.lines;
say 'Part One';
say [*] @values.combinations(2).grep({([+] $_) == 2020 }).head;
Part One 181044
Python
from itertools import combinations
input = map(lambda s: int(s), open('1-input.txt', 'r').read().splitlines())
combs = list(filter(lambda p: sum(p) == 2020, combinations(input, 2)))[0]
print('Part One')
print(combs[0] * combs[1])
Part One 181044
Part Two
In your expense report, what is the product of the three entries that sum to 2020?
The solution to part two is the same as part one, using combinations of 3 values instead of 2.
Raku
my @values = '1-input.txt'.IO.lines;
say 'Part Two';
say [*] @values.combinations(3).grep({([+] $_) == 2020 }).head;
Part Two 82660352
Python
from itertools import combinations
from math import prod
input = map(lambda s: int(s), open('1-input.txt', 'r').read().splitlines())
combs = list(filter(lambda p: sum(p) == 2020, combinations(input,3)))[0]
print('Part One')
print(prod(combs))
Part One 82660352