Added solutions
This commit is contained in:
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