1
0
Fork 0

Improve day 3 char code math readability

This commit is contained in:
Gregory Eremin 2023-01-13 19:58:00 +01:00
parent b0925c89a9
commit c14c6f5ea7
1 changed files with 6 additions and 4 deletions

View File

@ -4,9 +4,9 @@ let priority_of_item c =
(* ASCII lower case is 97-122, upper case is 65-90 *) (* ASCII lower case is 97-122, upper case is 65-90 *)
(* Lower case start at 1, upper case at 27 *) (* Lower case start at 1, upper case at 27 *)
let code = Char.code c in let code = Char.code c in
if code > 90 if code > Char.code 'Z'
then code - 96 then code - (Char.code 'a') + 1
else code - 65 + 27 else code - (Char.code 'A') + 27
in in
let sum_of_priorities fn str = let sum_of_priorities fn str =
@ -48,7 +48,9 @@ let rec sum_badge_priorities sum lines =
in in
let contents = read_file "inputs/3.txt" in let contents = read_file "inputs/3.txt" in
let lines = List.filter (fun l -> String.trim l <> "") (String.split_on_char '\n' contents) in let lines = String.split_on_char '\n' contents
|> List.filter (fun l -> String.trim l <> "")
in
let sum1 = sum_rucksack_priorities lines in let sum1 = sum_rucksack_priorities lines in
let sum2 = sum_badge_priorities 0 lines in let sum2 = sum_badge_priorities 0 lines in
Printf.printf "Part 1: %d\n" sum1; Printf.printf "Part 1: %d\n" sum1;