]> git.sommitrealweird.co.uk Git - advent-of-code-2019.git/blobdiff - day4/get_valid_passwords.sh
Rename days to 2 digits always
[advent-of-code-2019.git] / day4 / get_valid_passwords.sh
diff --git a/day4/get_valid_passwords.sh b/day4/get_valid_passwords.sh
deleted file mode 100644 (file)
index 9dd1562..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/bash
-
-start_password=254032
-end_password=789860
-
-check_valid_1() {
-    cur_password=$1
-    last_val=${cur_password:0:1}
-    val=$last_val
-    got_dupe=0
-    if [ $cur_password -ge $start_password ] && [ $cur_password -le $end_password ]; then
-        for (( a=1; a<${#cur_password}; a++ )); do
-            val=${cur_password:$a:1}
-            if [ $val -ge $last_val ]; then
-                if [ $val -eq $last_val ]; then
-                    got_dupe=1
-                fi
-            else
-                return 1
-            fi
-            last_val=$val
-        done
-        if [ $got_dupe -eq 1 ]; then
-            return 0
-        fi
-    else
-        return 1
-    fi
-
-    return 1
-}
-
-check_valid_2() {
-    cur_password=$1
-    last_val=${cur_password:0:1}
-    val=$last_val
-    dupe_count=1
-    got_dupe=0
-    if [ $cur_password -ge $start_password ] && [ $cur_password -le $end_password ]; then
-        for (( a=1; a<${#cur_password}; a++ )); do
-            val=${cur_password:$a:1}
-            if [ $val -ge $last_val ]; then
-                if [ $val -eq $last_val ]; then
-                    dupe_count=$((dupe_count+1))
-                else
-                    # only pairs
-                    if [ $dupe_count -eq 2 ]; then
-                        got_dupe=1
-                    fi
-                    dupe_count=1
-                fi
-            else
-                return 1
-            fi
-            last_val=$val
-        done
-        if [ $dupe_count -eq 2 ]; then
-            got_dupe=1
-        fi
-        if [ $got_dupe -eq 1 ]; then
-            return 0
-        else
-            return 1
-        fi
-    else
-        return 1
-    fi
-
-    return 1
-}
-
-get_next() {
-    password=$1
-    temp_password=$((password+1))
-    last_val=${temp_password:0:1}
-    new_password="$last_val"
-    for (( a=1; a<${#temp_password}; a++ )); do
-        val=${temp_password:$a:1}
-        if [ $val -lt $last_val ]; then
-            val=$last_val
-        fi
-        new_password+=$val
-        last_val=$val
-    done
-
-    echo "$new_password"
-}
-
-cur_password=$start_password
-valid_passwords=0
-valid_passwords_2=0
-while [ $cur_password -le $end_password ]; do
-    echo -n "$cur_password: "
-    if ( check_valid_1 $cur_password ); then
-        echo -n valid
-        valid_passwords=$((valid_passwords+1))
-        if ( check_valid_2 $cur_password ); then
-            echo " valid"
-            valid_passwords_2=$((valid_passwords_2+1))
-        else
-            echo " invalid"
-        fi
-    else
-        echo invalid
-    fi
-    cur_password=$(get_next $cur_password)
-done
-
-echo "There are $valid_passwords valid passwords"
-echo "And $valid_passwords_2 really valid passwords"