Added solutions
This commit is contained in:
1000
2024/day-1/input.txt
Normal file
1000
2024/day-1/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
10
2024/day-1/solution-1.sh
Normal file
10
2024/day-1/solution-1.sh
Normal file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
INPUT_FILE=input.txt
|
||||
|
||||
paste \
|
||||
<(awk '{print $1}' $INPUT_FILE | sort -n ) \
|
||||
<(awk '{print $2}' $INPUT_FILE | sort -n ) |
|
||||
awk '{ $1 > $2 ? diff = ($1 - $2) : diff = ($2 - $1) ; print diff}' |
|
||||
paste -s -d "+" |
|
||||
bc
|
8
2024/day-1/solution-2.sh
Normal file
8
2024/day-1/solution-2.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
join -1 2 -2 2 \
|
||||
<( awk '{print $2}' input.txt | sort -n | uniq -c ) \
|
||||
<( awk '{print $1}' input.txt | sort -n | uniq -c ) |
|
||||
awk '{print $1 * $2 * $3 }' |
|
||||
paste -s -d "+" |
|
||||
bc
|
BIN
2024/day-2/.solution-2.sh.swp
Normal file
BIN
2024/day-2/.solution-2.sh.swp
Normal file
Binary file not shown.
1000
2024/day-2/input.txt
Executable file
1000
2024/day-2/input.txt
Executable file
File diff suppressed because it is too large
Load Diff
46
2024/day-2/solution-2-working.awk
Normal file
46
2024/day-2/solution-2-working.awk
Normal file
@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env awk
|
||||
|
||||
BEGIN {
|
||||
safe = 0
|
||||
}
|
||||
{
|
||||
if ($2 > $1) {
|
||||
order = 0
|
||||
} else {
|
||||
order = 1
|
||||
}
|
||||
skip = 0
|
||||
for (i = 1; i < NF; i++) {
|
||||
j = i + 1
|
||||
k = i + 2
|
||||
if ( $i < $j && order == 1 ) {
|
||||
if ( $i < $k && order == 1 ) {
|
||||
next
|
||||
}
|
||||
} else if ( $i > $j && order == 0) {
|
||||
if ( $i > $k && order == 0 ) {
|
||||
next
|
||||
}
|
||||
}
|
||||
if ( $i < $j ) {
|
||||
diff = $j - $i
|
||||
} else {
|
||||
diff = $i - $j
|
||||
}
|
||||
if ( $i < $k ) {
|
||||
diff2 = $k - $i
|
||||
} else {
|
||||
diff2 = $i - $k
|
||||
}
|
||||
if (diff > 3 || diff < 1) {
|
||||
if (diff2 > 3 || diff2 < 1) {
|
||||
next
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
safe += 1
|
||||
}
|
||||
END {
|
||||
print safe
|
||||
}
|
47
2024/day-2/solution-2.awk
Normal file
47
2024/day-2/solution-2.awk
Normal file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env awk
|
||||
|
||||
BEGIN {
|
||||
# Initialize number of lines counter
|
||||
safe = 0
|
||||
}
|
||||
{
|
||||
if ($2 > $1) {
|
||||
order = 0
|
||||
} else {
|
||||
order = 1
|
||||
}
|
||||
skip = 0
|
||||
for (i = 1; i < NF; i++) {
|
||||
j = i + 1
|
||||
k = i + 2
|
||||
if ( $i < $j && order == 1 ) {
|
||||
if ( $i < $k && order == 1 ) {
|
||||
next
|
||||
}
|
||||
} else if ( $i > $j && order == 0) {
|
||||
if ( $i > $k && order == 0 ) {
|
||||
next
|
||||
}
|
||||
}
|
||||
if ( $i < $j ) {
|
||||
diff = $j - $i
|
||||
} else {
|
||||
diff = $i - $j
|
||||
}
|
||||
if ( $i < $k ) {
|
||||
diff2 = $k - $i
|
||||
} else {
|
||||
diff2 = $i - $k
|
||||
}
|
||||
if (diff > 3 || diff < 1) {
|
||||
if (diff2 > 3 || diff2 < 1) {
|
||||
next
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
safe += 1
|
||||
}
|
||||
END {
|
||||
print safe
|
||||
}
|
32
2024/day-2/solution.awk
Normal file
32
2024/day-2/solution.awk
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env awk
|
||||
|
||||
BEGIN {
|
||||
safe = 0
|
||||
}
|
||||
{
|
||||
if ($2 > $1) {
|
||||
order = 0
|
||||
} else {
|
||||
order = 1
|
||||
}
|
||||
for (i = 1; i < NF; i++) {
|
||||
j = i + 1
|
||||
if ( $i < $j && order == 1 ) {
|
||||
next
|
||||
} else if ( $i > $j && order == 0) {
|
||||
next
|
||||
}
|
||||
if ( $i < $j ) {
|
||||
diff = $j - $i
|
||||
} else {
|
||||
diff = $i - $j
|
||||
}
|
||||
if (diff > 3 || diff < 1) {
|
||||
next
|
||||
}
|
||||
}
|
||||
safe += 1
|
||||
}
|
||||
END {
|
||||
print safe
|
||||
}
|
Reference in New Issue
Block a user