Add 'universe/' from commit '8ad51b24dd'
				
					
				
			git-subtree-dir: universe git-subtree-mainline:15110e6de9git-subtree-split:8ad51b24dd
This commit is contained in:
		
						commit
						fb9380ba26
					
				
					 131 changed files with 13792 additions and 0 deletions
				
			
		
							
								
								
									
										35
									
								
								universe/advent-of-code/day_4.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								universe/advent-of-code/day_4.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | |||
| import re | ||||
| 
 | ||||
| start = 134792 | ||||
| end = 675810 | ||||
| 
 | ||||
| 
 | ||||
| def satisfies(x): | ||||
|     x = str(x) | ||||
|     result = False | ||||
|     double, not_decreasing = False, False | ||||
| 
 | ||||
|     # double and *only* double exists | ||||
|     for i in range(len(x) - 1): | ||||
|         # double and left-of-a  is BOL or !x | ||||
|         #        and right-of-b is EOL or !x | ||||
|         a, b = x[i], x[i + 1] | ||||
|         bol = i - 1 < 0 | ||||
|         eol = i + 2 >= len(x) | ||||
|         if a == b and (bol or x[i - 1] != a) and (eol or x[i + 2] != a): | ||||
|             double = True | ||||
|             break | ||||
| 
 | ||||
|     # not_decreasing | ||||
|     prev = int(x[0]) | ||||
|     for a in x[1:]: | ||||
|         a = int(a) | ||||
|         if prev > a: | ||||
|             return False | ||||
|         prev = a | ||||
|     not_decreasing = True | ||||
| 
 | ||||
|     return double and not_decreasing | ||||
| 
 | ||||
| 
 | ||||
| print(len([x for x in range(start, end + 1) if satisfies(x)])) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue