47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| def sameInString(firstHalf, secondHalf):
 | |
|     splitFirst = list(firstHalf)
 | |
|     for i in splitFirst:
 | |
|         if i in secondHalf:
 | |
|             return i
 | |
|     return None
 | |
| 
 | |
| 
 | |
| def sameInThreeStrings(first, second, third):
 | |
|     splitFirst = list(first)
 | |
|     for i in splitFirst:
 | |
|         if i in second and i in third:
 | |
|             return i
 | |
|     return None
 | |
| 
 | |
| 
 | |
| with open("./day3.txt", "r") as f:
 | |
|     file = f.read()
 | |
| 
 | |
| x = file.split("\n")
 | |
| prioritySum = 0
 | |
| for backpack in x:
 | |
|     firstHalf = backpack[:int((len(backpack)/2))]
 | |
|     secondHalf = backpack[int((len(backpack)/2)):]
 | |
|     same = sameInString(firstHalf, secondHalf)
 | |
|     if same is None:
 | |
|         continue
 | |
|     if same.islower():
 | |
|         prioritySum += ord(same)-96
 | |
|     else:
 | |
|         prioritySum += ord(same)-38
 | |
| 
 | |
| print("Priority sum for first is", prioritySum)
 | |
| 
 | |
| prioritySum = 0
 | |
| for i in range(0, len(x)-1, 3):
 | |
|     backpack1 = x[i]
 | |
|     backpack2 = x[i+1]
 | |
|     backpack3 = x[i+2]
 | |
|     same = sameInThreeStrings(backpack1, backpack2, backpack3)
 | |
|     if same is None:
 | |
|         continue
 | |
|     if same.islower():
 | |
|         prioritySum += ord(same)-96
 | |
|     else:
 | |
|         prioritySum += ord(same)-38
 |