Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/day-00-example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-01.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-02.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-03.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-04.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-05.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-06.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-07.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-08.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-09.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-10.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-11.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-12.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-13.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-14.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-15.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-16.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-17.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-18.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-19.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-20.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-21.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-22.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-23.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-24.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/day-25.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
test:
runs-on: ubuntu-latest
container:
image: "jonasjso/adventofcode2020:2020-12-05-with-node15"
image: "jonasjso/adventofcode2020:2020-12-07-with-deno"
steps:
- uses: actions/checkout@v2
- name: make versions
Expand Down
7 changes: 5 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 2. Build things from source first, so get build deps installed
RUN apt-get update && apt-get install -yqq --no-install-recommends\
# build-essential includes `make`, `gcc` and `g++`
build-essential git wget ca-certificates curl
build-essential git wget ca-certificates curl unzip

# 3. Install zig compiler, from ziglang.org
RUN cd /opt && wget https://ziglang.org/download/0.7.0/zig-linux-x86_64-0.7.0.tar.xz\
Expand All @@ -25,7 +25,10 @@ RUN git clone https://github.com/polyml/polyml.git /tmp/polyml && cd /tmp/polyml
# 5. Tell apt to install node.js from nodesource.com, to get v15.x instead of v12.x
RUN curl -sL https://deb.nodesource.com/setup_15.x | bash -

# 6. Install all other compilers, from apt-get
# 6. Install deno.js run-time from deno.land
RUN curl -fsSL https://deno.land/x/install/install.sh | sh && cp ~/.deno/bin/deno /bin/

# 7. Install all other compilers, from apt-get
RUN apt-get update && apt-get install -yqq --no-install-recommends\
default-jdk golang nodejs php-cli python3 ruby rustc \
# Cleanup what we don't need
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export DOCKER_TAG="jonasjso/adventofcode2020:2020-12-05-with-node15"
export DOCKER_TAG="jonasjso/adventofcode2020:2020-12-07-with-deno"

.PHONY:
test\
Expand Down
14 changes: 14 additions & 0 deletions days/day-00-example/solutions/example.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const file = (await Deno.readTextFile('/dev/stdin'))
.split("\n")
.slice(0, -1)

let sum_all = 0;
let sum_odd = 0;

for (const line of file) {
const num = parseInt(line);
sum_all += num;
sum_odd += num % 2 == 1 ? num : 0;
}
console.log(`${sum_all}`);
console.log(`${sum_odd}`);
3 changes: 2 additions & 1 deletion days/day-00-example/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ $D/../../languages/sml.sh $D/input.txt $D/output.txt $D/solutions/example.sml
$D/../../languages/bash.sh $D/input.txt $D/output.txt $D/solutions/example.bash
$D/../../languages/php.sh $D/input.txt $D/output.txt $D/solutions/example.php
$D/../../languages/python.sh $D/input.txt $D/output.txt $D/solutions/example.py
$D/../../languages/ruby.sh $D/input.txt $D/output.txt $D/solutions/example.rb
$D/../../languages/deno.sh $D/input.txt $D/output.txt $D/solutions/example.ts
$D/../../languages/node.sh $D/input.txt $D/output.txt $D/solutions/example.mjs
$D/../../languages/ruby.sh $D/input.txt $D/output.txt $D/solutions/example.rb
$D/../../languages/java.sh $D/input.txt $D/output.txt $D/solutions Example
echo ""
22 changes: 22 additions & 0 deletions days/day-01/solutions/day01.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
const numbers = (await Deno.readTextFile('/dev/stdin'))
.split("\n")
.slice(0, -1)
.map((line: string) => parseInt(line))

let part1 = 0, part2 = 0;

for (const i of numbers) {
for (const j of numbers) {
if (!part1 && i + j === 2020) {
part1 = i * j;
}
for (const k of numbers) {
if (!part2 && i + j + k === 2020) {
part2 = i * j * k;
}
}
}
}

console.log(`${part1}`)
console.log(`${part2}`)
1 change: 1 addition & 0 deletions days/day-01/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ $D/../../languages/go.sh $D/input.txt $D/output.txt $D/solutions/day01.tholo
$D/../../languages/c.sh $D/input.txt $D/output.txt $D/solutions/day01.c
$D/../../languages/zig.sh $D/input.txt $D/output.txt $D/solutions/day01.zig
$D/../../languages/sml.sh $D/input.txt $D/output.txt $D/solutions/day01.sml
$D/../../languages/deno.sh $D/input.txt $D/output.txt $D/solutions/day01.ts
$D/../../languages/node.sh $D/input.txt $D/output.txt $D/solutions/day01.mjs
$D/../../languages/python.sh $D/input.txt $D/output.txt $D/solutions/one-liner.py
$D/../../languages/cpp.sh $D/input.txt $D/output.txt $D/solutions/day01.cpp
Expand Down
2 changes: 2 additions & 0 deletions days/day-02/solutions/day02.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@ int main() {
}
}

// --- Part1 ---
if (letter_occurances >= from && letter_occurances <= to) {
valid_passwords += 1;
}

// --- Part2 ---
int letter_occurances_part2 = 0;
if (password[from-1] == letter) {
letter_occurances_part2 += 1;
Expand Down
32 changes: 32 additions & 0 deletions days/day-02/solutions/day02.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const passwords = [...(await Deno.readTextFile('/dev/stdin'))
.matchAll(/(\d+)-(\d+) (\w): (\w+)/g)]
.map(([,from, to, letter, password]) => ({
from: parseInt(from),
to: parseInt(to),
letter,
password
}))


// --- part1 ---
const part1_passwords = passwords
.reduce((count, {from, to, letter, password}) => {

const letterCount = [...password]
.reduce((letterCount, passwordLetter) => letterCount + (letter === passwordLetter ? 1:0), 0)

return count + (from <= letterCount && letterCount <= to ? 1:0);
}, 0)

const part2_passwords = passwords
.reduce((count, {from, to, letter, password}) => {

let letterCount = 0;
letterCount += (password.charAt(from-1) === letter ? 1:0);
letterCount += (password.charAt(to-1) === letter ? 1:0);

return count + (letterCount === 1 ? 1:0);
}, 0);

console.log(`${part1_passwords}`);
console.log(`${part2_passwords}`);
1 change: 1 addition & 0 deletions days/day-02/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ $D/../../languages/cpp.sh $D/input.txt $D/output.txt $D/solutions/day02.cpp
$D/../../languages/sml.sh $D/input.txt $D/output.txt $D/solutions/day02.sml
$D/../../languages/go.sh $D/input.txt $D/output.txt $D/solutions/day02.tholok97.go
$D/../../languages/python.sh $D/input.txt $D/output.txt $D/solutions/day02.py
$D/../../languages/deno.sh $D/input.txt $D/output.txt $D/solutions/day02.ts
echo ""
Loading