def main(fileName: str = None): fileName = mainStart(fileName, 5) groupsData = loadExerciseDataFrom(fileName) allCounts = confirmedMixedAnswers(groupsData) accurateCounts = confirmedGroupAnswers(groupsData) print('allCounts = %d' % allCounts) print('accurateCounts = %d' % accurateCounts) return allCounts, accurateCounts
def main(fileName = None): fileName = mainStart(fileName, 1) expenses = loadExpensesFrom(fileName) magicProductTwo = find2020TwoEntriesProductIn(expenses) magicProductThree = find2020ThreeEntriesProductIn(expenses) print('magic product (two factors) = %d' % magicProductTwo) print('magic product (three factors) = %d' % magicProductThree) return magicProductTwo, magicProductThree
def main(fileName = None): fileName = mainStart(fileName, 3) treesMap = loadMapFrom(fileName) treeImpacts = calculateImpactsFrom(treesMap, 3, 1) treeImpactsAll = calculateAllImpactsUsing(treesMap, TREES_TRAVERSALS) print('Tree impacts = %d' % treeImpacts) print('Tree impacts multiple traversals = %d' % treeImpactsAll) return treeImpacts, treeImpactsAll
def main(fileName=None): fileName = mainStart(fileName, 4) passports = loadPassportsFrom(fileName) validPassports = countValidIn(passports, isValidPassport) validPassportsStrict = countValidIn(passports, isValidPassportStrict) print('valid passports or NPCs: %d' % validPassports) print('valid passports (strict): %d' % validPassportsStrict) return validPassports, validPassportsStrict
def main(fileName: str = None): fileName = mainStart(fileName, 18) data, tokens = loadExerciseDataFrom(fileName) answer1 = resolvePuzzleUsing(data, tokens, False) print('answer 1: %d' % answer1) answer2 = resolvePuzzleUsing(data, tokens, True) print('answer 2: %d' % answer2) return answer1, answer2
def main(fileName: str = None, unitTest=False): fileName = mainStart(fileName, 15) data, tokens = loadExerciseDataFrom(fileName) answer1 = resolvePuzzle01Using(data, tokens) answer2 = -1 if unitTest else resolvePuzzle02Using(data, tokens) print('answer 1: %d' % answer1) print('answer 2: %d' % answer2) return answer1, answer2
def main(fileName:str = None): fileName = mainStart(fileName, 19) data, tokens = loadExerciseDataFrom(fileName) answer1, rules, messages = resolvePuzzle01Using(data, tokens) print('answer 1: %d' % answer1) answer2 = resolvePuzzle02Using(rules, messages) print('answer 2: %d' % answer2) return answer1, answer2
def main(fileName: str = None): fileName = mainStart(fileName, 12) data, tokens = loadExerciseDataFrom(fileName) answer1 = resolvePuzzle01Using(data, tokens) answer2, _ = resolvePuzzle02Using(data, tokens) print('answer 1: %d' % answer1) print('answer 2: %d' % answer2) return answer1, answer2
def main(fileName: str = None): fileName = mainStart(fileName, 11) data, tokens = loadExerciseDataFrom(fileName) answer1, totalRounds = resolvePuzzle01Using(data, tokens) print('answer 1: %d in %d rounds' % (answer1, totalRounds)) answer2, totalRounds = resolvePuzzle02Using(data, tokens) print('answer 2: %d in %d rounds' % (answer2, totalRounds)) return answer1, answer2
def main(fileName: str = None, fieldSignature='departure', unitTest=False): fileName = mainStart(fileName, 16) data, tokens = loadExerciseDataFrom(fileName) answer1, ticketRanges, ticket, nearby, validTickets, invalidTickets = resolvePuzzle01Using( data, tokens) print('answer 1: %d' % answer1) answer2 = -1 if unitTest else resolvePuzzle02Using( ticketRanges, ticket, validTickets, fieldSignature) print('answer 2: %d' % answer2) return answer1, answer2
def main(fileName: str = None): fileName = mainStart(fileName, 6) data = loadExerciseDataFrom(fileName) answer1, \ rules = resolvePuzzle01Using(data) answer2 = resolvePuzzle02Using(data) print('answer 1: %d' % answer1) print('answer 2: %d' % answer2) return answer1, answer2
def main(fileName=None): fileName = mainStart(fileName, 5) boardingPasses = loadBoardingPassesFrom(fileName) maxID, \ seatIDs = findHighestIDIn(boardingPasses) mySeatID = resolveSeat(seatIDs) if len( seatIDs) > 100 else 0 # for unit tests; see day 5 spec for reason print('maxID = %d' % maxID) print('My seat = %d' % mySeatID) return maxID, mySeatID
def main(fileName: str = None, preambleLength=PREAMBLE_LENGTH): fileName = mainStart(fileName, 9) data, tokens = loadExerciseDataFrom(fileName) answer1, \ data = resolvePuzzle01Using(data, tokens, preambleLength) answer2 = resolvePuzzle02Using(data, tokens, preambleLength, answer1) print('answer 1: %d' % answer1) print('answer 2: %d' % answer2) return answer1, answer2
def main(fileName = None): fileName = mainStart(fileName, 2) validOldStyle = 0 valid = 0 for password in extractPasswordsFrom(fileName): validOldStyle += 1 if meetsOldPolicy(password) else 0 valid += 1 if meetsPolicy(password) else 0 print('valid passwords (old) = %d' % validOldStyle) print('valid passwords (new) = %d' % valid) return validOldStyle, valid
def main(fileName: str = None): fileName = mainStart(fileName, 2) data, tokens = loadExerciseDataFrom(fileName) rawText = loadRawExerciseTextFrom(fileName) textRecords = loadExerciseDataAsTextRecordsFrom(fileName) # ------------------------------------------ # Answer 1 # ------------------------------------------ answer1 = resolvePuzzle01Using(data, tokens, rawText, textRecords) answer2 = resolvePuzzle02Using(data, tokens, rawText, textRecords) print('answer 1: %d, answer 2: %d' % (answer1, answer2)) return answer1, answer2
def main(fileName: str = None): fileName = mainStart(fileName, 13) data, tokens = loadExerciseDataFrom(fileName) earliestDeparture = int(data[0]) busSchedule = [int(busID) for busID in data[1].split(',') if busID != 'x'] answer1, _ = resolvePuzzle01Using(earliestDeparture, busSchedule) busSchedule = [ int(busID) if busID != 'x' else -1 for busID in data[1].split(',') ] answer2 = resolvePuzzle02Using(busSchedule) print('answer 1: %d' % answer1) print('answer 2: %d' % answer2) return answer1, answer2
def main(fileName: str = None, unitTest=False): fileName = mainStart(fileName, 17) shape = 15 if unitTest else 20 data, tokens = loadExerciseDataFrom(fileName) # ------------------------------------------ # Answer 1 # ------------------------------------------ answer1 = resolvePuzzle01Using(data, tokens, 6, 3, shape) print('answer 1: %d' % answer1) # ------------------------------------------ # Answer 2 # ------------------------------------------ answer2 = resolvePuzzle02Using(data, tokens, unitTest) print('answer 2: %d' % answer2) return answer1, answer2
def test_mainStart(): assert mainStart('bogus-name.txt', 1) == 'bogus-name.txt'