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