View Single Post
Gøy å se løsninger! Her er min i Python for AoC luke 1:

SPOILER ALERT! Vis spoiler
Jeg la også merke til at jeg fikk veldig lik kode, og slo dem sammen for å slippe å skrive samme kode flere ganger. Looper bare gjennom alle sifrene (bortsett fra siste siffer) og sjekker om a) sifferet er likt neste neste siffer, og b) om sifferet er lik sifferet som har L/2 høyere indeks, der L er lengden av hele driten. Hvis de er like så øker jeg de respektive sum-variablene. Til slutt en spesialsjekk for å sjekke om første og siste tall er likt. Slik ble det:

Kode

with open('input.txt') as f:
	num = f.readline()

tot1, tot2 = 0, 0
for i in range(len(num)-1):
	if num[i] == num[i+1]:
		tot1 += int(num[i])
	if i < len(num)/2 and num[i] == num[i+len(num)//2]:
		tot2 += 2*int(num[i])
if num[0] == num[-1]:
	tot1 += int(num[0])
print('1st:', tot1)
print('2nd:', tot2)