Added AI generated output because I can
This commit is contained in:
parent
5513d56c4d
commit
43958d4529
1 changed files with 54 additions and 0 deletions
54
day3/day3ai.lua
Normal file
54
day3/day3ai.lua
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
for i = 1, 1000 do
|
||||||
|
-- Open the file for reading
|
||||||
|
local file = assert(io.open("strings.txt", "r"))
|
||||||
|
|
||||||
|
-- Initialize a variable to store the sum of scores
|
||||||
|
local score = 0
|
||||||
|
|
||||||
|
-- Read each line from the file
|
||||||
|
for line in file:lines() do
|
||||||
|
-- Split the line in half
|
||||||
|
local first_half = line:sub(1, #line / 2)
|
||||||
|
local second_half = line:sub(#line / 2 + 1)
|
||||||
|
|
||||||
|
-- Create a table to store the characters in each half
|
||||||
|
local first_half_chars = {}
|
||||||
|
local second_half_chars = {}
|
||||||
|
|
||||||
|
-- Iterate over each character in each half and store it in the table
|
||||||
|
for i = 1, #first_half do
|
||||||
|
first_half_chars[first_half:sub(i, i)] = true
|
||||||
|
end
|
||||||
|
for i = 1, #second_half do
|
||||||
|
second_half_chars[second_half:sub(i, i)] = true
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Create a table to store the characters that have already been counted
|
||||||
|
local counted_chars = {}
|
||||||
|
|
||||||
|
-- Iterate over each character in the first half again
|
||||||
|
-- and check if it exists in the second half
|
||||||
|
for i = 1, #first_half do
|
||||||
|
local char = first_half:sub(i, i)
|
||||||
|
if second_half_chars[char] and not counted_chars[char] then
|
||||||
|
-- If it does and it hasn't been counted yet,
|
||||||
|
-- assign it a score and add it to the sum of scores
|
||||||
|
local score_value = 0
|
||||||
|
if char:lower() == char then
|
||||||
|
-- If the character is lowercase, its score is its ASCII value - 96
|
||||||
|
score_value = string.byte(char) - 96
|
||||||
|
else
|
||||||
|
-- If the character is uppercase, its score is its ASCII value - 64 + 26
|
||||||
|
score_value = string.byte(char) - 64 + 26
|
||||||
|
end
|
||||||
|
score = score + score_value
|
||||||
|
|
||||||
|
-- Add the character to the counted_chars table so it won't be counted again
|
||||||
|
counted_chars[char] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Print the final sum of scores
|
||||||
|
print(score)
|
||||||
|
end
|
Reference in a new issue