add: part 2
This commit is contained in:
		
							
								
								
									
										6
									
								
								2023/day04/example2.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								2023/day04/example2.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					Card 1: 41 48 83 86 17 | 83 86  6 31 17  9 48 53
 | 
				
			||||||
 | 
					Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19
 | 
				
			||||||
 | 
					Card 3:  1 21 53 59 44 | 69 82 63 72 16 21 14  1
 | 
				
			||||||
 | 
					Card 4: 41 92 73 84 69 | 59 84 76 51 58  5 54 83
 | 
				
			||||||
 | 
					Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36
 | 
				
			||||||
 | 
					Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11
 | 
				
			||||||
							
								
								
									
										29
									
								
								2023/day04/src/part2.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								2023/day04/src/part2.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					text: str = open("input.txt", "r").read()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					value: int = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lines = text.splitlines()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cards_coef = {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for card_id, line in enumerate(lines):
 | 
				
			||||||
 | 
						card_id += 1
 | 
				
			||||||
 | 
						bozo_value: int = 0
 | 
				
			||||||
 | 
						bozo = line.split(": ")
 | 
				
			||||||
 | 
						bozo2 = bozo[1].split(" | ")
 | 
				
			||||||
 | 
						expected_value = bozo2[0].split(" ")
 | 
				
			||||||
 | 
						values = bozo2[1].split(" ")
 | 
				
			||||||
 | 
						for current_value in values:
 | 
				
			||||||
 | 
							if (current_value != "" and current_value in expected_value):
 | 
				
			||||||
 | 
								bozo_value += 1
 | 
				
			||||||
 | 
						cards_coef.update({card_id: cards_coef.get(card_id, 0) + 1})
 | 
				
			||||||
 | 
						current_card_coef = cards_coef.get(card_id)
 | 
				
			||||||
 | 
						for next_card_id in range(card_id + 1, card_id + bozo_value + 1):
 | 
				
			||||||
 | 
							next_cards_coef = cards_coef.get(next_card_id, 0)
 | 
				
			||||||
 | 
							cards_coef.update({next_card_id: next_cards_coef + current_card_coef})
 | 
				
			||||||
 | 
							print(cards_coef)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for card_id, coef in cards_coef.items():
 | 
				
			||||||
 | 
						value += coef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print(value)
 | 
				
			||||||
		Reference in New Issue
	
	Block a user