diff options
author | June McEnroe <june@causal.agency> | 2022-12-07 10:22:39 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2022-12-07 10:22:39 -0500 |
commit | 4fe185a192e8eedaf42ad660fb246940c47af26c (patch) | |
tree | e4ad53afd2524cf3fa80d6b3eac2367b44f65685 | |
parent | Solve day 6 part 2 (diff) | |
download | aoc-4fe185a192e8eedaf42ad660fb246940c47af26c.tar.gz aoc-4fe185a192e8eedaf42ad660fb246940c47af26c.zip |
Solve day 7 part 1
-rw-r--r-- | 2022/day07.awk | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/2022/day07.awk b/2022/day07.awk new file mode 100644 index 0000000..4143a8b --- /dev/null +++ b/2022/day07.awk @@ -0,0 +1,27 @@ +function parent(dir) { + p = match(dir, "/[^/]+$"); + return substr(dir, 1, p-1); +} +/\$ cd \// { + cwd = "/"; + next; +} +/\$ cd \.\./ { + cwd = parent(cwd); + next; +} +/\$ cd/ { + cwd = cwd "/" $3; +} +/^[0-9]+/ { + for (dir = cwd; dir != ""; dir = parent(dir)) { + dirs[dir] += $1; + } +} +END { + for (dir in dirs) { + if (dirs[dir] > 100000) continue; + sum += dirs[dir]; + } + print sum; +} |