Add 2022 day 04
This commit is contained in:
parent
9f2ef7a920
commit
7a7965ea41
45
2022/day04.py
Executable file
45
2022/day04.py
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
"""
|
||||||
|
Jour 04 du défi Advent Of Code pour l'année 2022
|
||||||
|
"""
|
||||||
|
|
||||||
|
def read_sample():
|
||||||
|
"""récupère les entrées depuis le fichier texte correspondant"""
|
||||||
|
with open('inputs/day04.txt', 'r') as f:
|
||||||
|
sample = f.read().split('\n')
|
||||||
|
sample = [ ([int(j) for j in i.split(",")[0].split("-")], [int(j) for j in i.split(",")[1].split("-")]) for i in sample if i != '' ]
|
||||||
|
return sample
|
||||||
|
|
||||||
|
def part1(sample):
|
||||||
|
"""Partie 1 du défi"""
|
||||||
|
complete_overlaps = 0
|
||||||
|
for i in sample:
|
||||||
|
if i[0][0] <= i[1][0] and i[0][1] >= i[1][1]:
|
||||||
|
# Left overlap
|
||||||
|
complete_overlaps += 1
|
||||||
|
elif i[1][0] <= i[0][0] and i[1][1] >= i[0][1]:
|
||||||
|
# Right overlap
|
||||||
|
complete_overlaps += 1
|
||||||
|
return complete_overlaps
|
||||||
|
|
||||||
|
def part2(sample):
|
||||||
|
"""Partie 2 du défi"""
|
||||||
|
partial_overlaps = 0
|
||||||
|
for i in sample:
|
||||||
|
if i[0][0] <= i[1][0]:
|
||||||
|
if i[0][1] >= i[1][0]:
|
||||||
|
partial_overlaps += 1
|
||||||
|
elif i[1][0] <= i[0][0]:
|
||||||
|
if i[1][1] >= i[0][0]:
|
||||||
|
partial_overlaps += 1
|
||||||
|
return partial_overlaps
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
"""Fonction principale"""
|
||||||
|
sample = read_sample()
|
||||||
|
print(f"part1: {part1(sample)}")
|
||||||
|
print(f"part2: {part2(sample)}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in New Issue
Block a user