--- /dev/null
+#!/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)