⛄ Day 6
View Day 5
< |
>
View Day 7
Advent of Code is a coding challenge
that releases a puzzle every day starting December 1st up until the 25th -
like an Advent Calendar but no stale chocolate...
Part 1
Sum of a list where anyone answered 'yes'
Solution:
import csv
def open_file(file_name):
with open(file_name) as r:
print(r.read())
def read_input(file_name):
input = []
with open(file_name, 'r') as data:
arr = list(map(lambda x: x[0] if len(x) > 0 else None, csv.reader(data)))
group = []
for a in arr:
if a is None:
input.append(group)
group = []
else:
group.append(a)
input.append(group)
return input
def parse_to_keys_anyone(el):
d = {}
for a in el:
for char in list(a):
d[char] = 1
return d
input = read_input('day6.txt')
dicts = map(lambda x: parse_to_keys_anyone(x), input)
count = map(lambda x: len(x.keys()), dicts)
print(sum(count))
Part 2
Sum of a list where everyone answered 'yes'
Solution:
def parse_to_keys_everyone(el):
d = {}
for a in el:
for char in list(a):
if d.get(char) is None:
d[char] = 1
else:
d[char] = d[char] + 1
keys = d.keys()
all = len(el)
for k in keys:
if d[k] != all:
del d[k]
return d
dicts = map(lambda x: parse_to_keys_everyone(x), input)
count = map(lambda x: len(x.keys()), dicts)
print(sum(count))
View Day 5
< |
>
View Day 7