rolfvanoven

AoC 2023 dag 2

Dec 5th, 2023
832
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.44 KB | None | 0 0
  1. # bestand lezen en in stukjes hakken:
  2. bestand = open('input.txt', 'r')
  3. alles = bestand.readlines()
  4. for x in range(len(alles)):
  5.   alles[x] = alles[x].replace('\n', '')
  6.   alles[x] = alles[x].split(':')
  7.   alles[x] = alles[x][1]
  8.   alles[x] = alles[x].split(';')
  9.   for y in range(len(alles[x])):
  10.     alles[x][y] = alles[x][y].split(',')
  11.  
  12. # omzetten naar r/g/b lijst:
  13. spellen = []
  14. for x in range(len(alles)):
  15.   spellen.append([])
  16.   for y in range(len(alles[x])):
  17.     spellen[x].append([0,0,0])
  18.     for z in range(len(alles[x][y])):
  19.       if alles[x][y][z].find('red') > 0:
  20.         spellen[x][y][0] = int(alles[x][y][z][1:3])
  21.       if alles[x][y][z].find('green') > 0:
  22.         spellen[x][y][1] = int(alles[x][y][z][1:3])
  23.       if alles[x][y][z].find('blue') > 0:
  24.         spellen[x][y][2] = int(alles[x][y][z][1:3])
  25.  
  26. # limieten:
  27. blokjes = [12,13,14]
  28.  
  29. #antwoord a:
  30. antwoorda = 0
  31. for x in range(len(spellen)):
  32.   dezekan = 1
  33.   for y in range(len(spellen[x])):
  34.     for z in range(3):
  35.       if spellen[x][y][z] > blokjes[z]:
  36.         dezekan = 0
  37.   antwoorda += (x+1)*dezekan
  38.  
  39. #antwoord b:
  40. antwoordb = 0
  41. for x in range(len(spellen)):
  42.   minstens = [0,0,0]
  43.   for y in range(len(spellen[x])):
  44.     for z in range(3):
  45.       if spellen[x][y][z] > minstens[z]:
  46.         minstens[z] = spellen[x][y][z]
  47.   antwoordb += minstens[0]*minstens[1]*minstens[2]
  48.  
  49.  
  50.  
  51. print(antwoorda)
  52. print(antwoordb)
  53. from time import sleep
  54. sleep(4)
  55. print('\n\nhomo\n')
Advertisement
Add Comment
Please, Sign In to add comment