2022 begins.
This commit is contained in:
45
2021/14/main2.py
Normal file
45
2021/14/main2.py
Normal file
@@ -0,0 +1,45 @@
|
||||
str = ''
|
||||
data = {}
|
||||
letters = []
|
||||
with open('data', 'r') as fp:
|
||||
for line in fp:
|
||||
if(' -> ' in line):
|
||||
pair = line.strip().split(' -> ')
|
||||
data[pair[0]] = pair[1]
|
||||
elif(len(line) > 1):
|
||||
str = line.strip()
|
||||
|
||||
for ch in str:
|
||||
if(not ch in letters):
|
||||
letters.append(ch)
|
||||
letters.sort()
|
||||
|
||||
# # DEBUG(dev):
|
||||
# print(data)
|
||||
# print(str)
|
||||
# print(letters)
|
||||
|
||||
for step in range(0, 40):
|
||||
new_str = ''
|
||||
for i in range(0, len(str) - 1):
|
||||
lookup = str[i:i+2]
|
||||
if(lookup in data.keys()):
|
||||
new_str += str[i] + data[lookup]
|
||||
else:
|
||||
new_str += str[i]
|
||||
new_str += str[-1]
|
||||
str = new_str
|
||||
print('Step ', step+1, ', length', len(str))
|
||||
|
||||
# NOTE(dev): un-indent this (take it out of the for loop) for just a final answer
|
||||
counts = {}
|
||||
for ch in str:
|
||||
if(ch in counts):
|
||||
counts[ch] += 1
|
||||
else:
|
||||
counts[ch] = 1
|
||||
|
||||
counts_list = list(counts.values())
|
||||
counts_list.sort()
|
||||
|
||||
print(counts_list, counts_list[-1] - counts_list[0])
|
||||
Reference in New Issue
Block a user