day 13, solve linear equations
This commit is contained in:
		
							
								
								
									
										25
									
								
								lib/aoc.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								lib/aoc.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
def nums(s:str) -> list[int]:
 | 
			
		||||
    return list(map(int,re.findall(r'-?\d+',s)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
TESTS = [
 | 
			
		||||
    ("", []),
 | 
			
		||||
    ("9738: 7 89 52 75 8 1", [9738, 7, 89, 52, 75, 8, 1]),
 | 
			
		||||
    ("p=62,20 v=85,-14", [62, 20, 85, -14]),
 | 
			
		||||
    ("24 25 28 31 28", [24, 25, 28, 31, 28]),
 | 
			
		||||
    ("how():mul(422,702)'how()'", [422,702]),
 | 
			
		||||
    ("58692       56129", [58692, 56129]),
 | 
			
		||||
    ("Button A: X+16, Y+32", [16, 32]),
 | 
			
		||||
    ("46,51,67,25,72,77,13,96,36,76,52,23", [46,51,67,25,72,77,13,96,36,76,52,23]),
 | 
			
		||||
    ("47|53", [47,53]),
 | 
			
		||||
    ("..........M..........j.............y.....O........", []),
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    for (q,a) in TESTS:
 | 
			
		||||
        assert nums(q) == a
 | 
			
		||||
    a, b = nums("how():mul(422,702)'how()'")
 | 
			
		||||
    assert a == 422
 | 
			
		||||
    assert b == 702
 | 
			
		||||
		Reference in New Issue
	
	Block a user