X-Git-Url: https://git.sommitrealweird.co.uk/advent-of-code-2020.git/blobdiff_plain/ee13040bdd49fa89d85bcd516fe6f849f868a22e..1ae258d79ba91cb6215a62a011fca7936c06d9df:/day2/get_valid_count.sh diff --git a/day2/get_valid_count.sh b/day2/get_valid_count.sh new file mode 100644 index 0000000..d6ca89e --- /dev/null +++ b/day2/get_valid_count.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +check_file() { + cat input.txt | while read line; do + password=${line#*: } + params=${line%: *} + min=${params%-*} + params=${params#*-} + max=${params% *} + char=${params#* } + count=0 + for ((i=0; i<${#password}; i++)); do + if [ "${password:$i:1}" = "$char" ]; then + count=$((count+1)) + fi + done + if [ $count -ge $min ] && [ $count -le $max ]; then + echo "Got valid line!" + fi + done +} + +echo "Got $(check_file | wc -l) valid lines" + +exit 0 +#!/usr/bin/python3 + +import regex + +total_lines=0 +valid_lines=0 +for line in open("input.txt", "r"): + total_lines += 1 + (min_count, max_count, letter, password) = regex.match('([0-9]+)-([0-9]+) ([a-z]): ([a-z]*)', line).group(1,2,3,4) + min_count=int(min_count) + max_count=int(max_count) + count = 0 + for x in password: + if x == letter: + count += 1 + if count >= min_count and count <= max_count: + valid_lines += 1 + +print(valid_lines, "valid lines of", total_lines)