day 6

This commit is contained in:
commit 52d5b363ca
3 changed files with 68 additions and 0 deletions

38 6/a.py Normal file View File

 `@ -0,0 +1,38 @@` `with open("input.txt") as f:` ` pond = [int(i) for i in f.read().strip().split(",")]` ``` ``` `print("pond", pond)` ``` ``` ``` ``` `def simulate():` ` for i, fish in enumerate(pond[:]):` ` # print("i, fish", i, fish)` ` newfish = fish - 1` ` if newfish < 0:` ` newfish = 6` ` pond.append(8)` ` pond[i] = newfish` ``` ``` ``` ``` `for i in range(0, 80):` ` # print("pond", len(pond))` ` simulate()` ``` ``` `print("answer", len(pond))` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` `# each lanternfish creates a new lanternfish once every 7 days.` ``` ``` `# So, you can model each fish as a single number that represents the number of days until it creates a new lanternfish.` ``` ``` `# a new lanternfish would surely need slightly longer before it's capable of producing more lanternfish: two more days for its first cycle.` ``` ``` `# list of the ages of several hundred nearby lanternfish (your puzzle input).` ``` ``` `# Find a way to simulate lanternfish. How many lanternfish would there be after 80 days?` ``` ``` ``` ``` ``` ```

29 6/b.py Normal file View File

 `@ -0,0 +1,29 @@` `from collections import defaultdict` ``` ``` `with open("input.txt") as f:` ` pond = [int(i) for i in f.read().strip().split(",")]` ``` ``` `sea = defaultdict(lambda: 0)` ``` ``` ``` ``` `for fish in pond:` ` sea[fish] += 1` ``` ``` ``` ``` `for i in range(0, 256):` ` # print(i, dict(sea))` ` newsea = defaultdict(lambda: 0)` ``` ``` ` for fish, count in sea.items():` ` newfish = fish - 1` ` if newfish < 0:` ` newfish = 6` ` newsea[8] += count` ` newsea[newfish] += count` ``` ``` ` sea = newsea` ` # print(i, dict(sea))` ` # print()` ``` ``` ``` ``` `print(sum(sea.values()))`

1 6/input.txt Normal file View File

 `@ -0,0 +1 @@` `1,1,5,2,1,1,5,5,3,1,1,1,1,1,1,3,4,5,2,1,2,1,1,1,1,1,1,1,1,3,1,1,5,4,5,1,5,3,1,3,2,1,1,1,1,2,4,1,5,1,1,1,4,4,1,1,1,1,1,1,3,4,5,1,1,2,1,1,5,1,1,4,1,4,4,2,4,4,2,2,1,2,3,1,1,2,5,3,1,1,1,4,1,2,2,1,4,1,1,2,5,1,3,2,5,2,5,1,1,1,5,3,1,3,1,5,3,3,4,1,1,4,4,1,3,3,2,5,5,1,1,1,1,3,1,5,2,1,3,5,1,4,3,1,3,1,1,3,1,1,1,1,1,1,5,1,1,5,5,2,1,5,1,4,1,1,5,1,1,1,5,5,5,1,4,5,1,3,1,2,5,1,1,1,5,1,1,4,1,1,2,3,1,3,4,1,2,1,4,3,1,2,4,1,5,1,1,1,1,1,3,4,1,1,5,1,1,3,1,1,2,1,3,1,2,1,1,3,3,4,5,3,5,1,1,1,1,1,1,1,1,1,5,4,1,5,1,3,1,1,2,5,1,1,4,1,1,4,4,3,1,2,1,2,4,4,4,1,2,1,3,2,4,4,1,1,1,1,4,1,1,1,1,1,4,1,5,4,1,5,4,1,1,2,5,5,1,1,1,5`