2024-11-26 23:24:33 -06:00

38 lines
1.4 KiB
Python

with open('puzzle.txt', 'r') as f:
strings = f.read().splitlines()
nice_strings = 0
def second_method(even_pairs, odd_pairs):
for index_even, even_pair in enumerate(even_pairs):
for index_odd, odd_pair in enumerate(odd_pairs):
if even_pair == odd_pair and index_odd != index_even and index_even != index_odd + 1:
return True
return False
for string in strings:
string_list = list(string)
for character_idx in range(len(string_list) - 2):
if string_list[character_idx] == string_list[character_idx + 2]:
even_pairs = []
odd_pairs = []
for character_idx_b in range(len(string_list) - 1):
if character_idx_b % 2 == 0:
even_pairs.append(f'{string_list[character_idx_b]}{string_list[character_idx_b + 1]}')
else:
odd_pairs.append(f'{string_list[character_idx_b]}{string_list[character_idx_b + 1]}')
if len(even_pairs) != len(set(even_pairs)) or len(odd_pairs) != len(set(odd_pairs)):
nice_strings += 1
print(nice_strings, "First method")
break
else:
if second_method(even_pairs, odd_pairs):
nice_strings += 1
print(nice_strings, "Second method", string)
break
print(nice_strings)