From ccbbcf413e966df166cd273ebf9853839db911b1 Mon Sep 17 00:00:00 2001 From: Blizzard Finnegan Date: Wed, 22 Dec 2021 18:56:17 -0500 Subject: [PATCH] Finish day10part1 --- day10/day10Part1 | Bin 0 -> 107792 bytes day10/day10Part1.cpp | 88 ++++++++++++++++++ day10/day10Part2.cpp | 88 ++++++++++++++++++ .../{part1Input.txt => part1Instructions.txt} | 0 4 files changed, 176 insertions(+) create mode 100755 day10/day10Part1 create mode 100644 day10/day10Part1.cpp create mode 100644 day10/day10Part2.cpp rename day10/{part1Input.txt => part1Instructions.txt} (100%) diff --git a/day10/day10Part1 b/day10/day10Part1 new file mode 100755 index 0000000000000000000000000000000000000000..402d92db72a79a1bb5e0036ee669b4ac86be64ac GIT binary patch literal 107792 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 +#include +#include +#include +#include +#include + +using namespace std; + +int illegalPoints = 0; + +void filterFunction(string rawInput) +{ + vector currentLine; + currentLine.clear(); + for(int index = 0; index < rawInput.length(); index++) + { + switch (rawInput[index]) + { + case '[': + case '(': + case '{': + case '<': + currentLine.push_back(rawInput[index]); + break; + case ']': + if (currentLine.back() == '[') + { + currentLine.pop_back(); + } + else + { + illegalPoints += 57; + return; + } + break; + case ')': + if (currentLine.back() == '(') + { + currentLine.pop_back(); + } + else + { + illegalPoints += 3; + return; + } + break; + case '}': + if (currentLine.back() == '{') + { + currentLine.pop_back(); + } + else + { + illegalPoints += 1197; + return; + } + break; + case '>': + if (currentLine.back() == '<') + { + currentLine.pop_back(); + } + else + { + illegalPoints += 25137; + return; + } + break; + default: + cout << "Wrong input!" << endl; + cout << rawInput[index] << ", index " << index << endl; + return; + } + } +} + +int main(void) +{ + string rawInput; + ifstream readFile ("data/input.txt", ios::in); + while(getline(readFile, rawInput)) + { + filterFunction(rawInput); + } + cout << "Total points: " << illegalPoints; + return 0; +} diff --git a/day10/day10Part2.cpp b/day10/day10Part2.cpp new file mode 100644 index 0000000..424aa7e --- /dev/null +++ b/day10/day10Part2.cpp @@ -0,0 +1,88 @@ +#include +#include +#include +#include +#include +#include + +using namespace std; + +int illegalPoints = 0; + +void filterFunction(string rawInput) +{ + vector currentLine; + currentLine.clear(); + for(int index = 0; index < rawInput.length(); index++) + { + switch (rawInput[index]) + { + case '[': + case '(': + case '{': + case '<': + currentLine.push_back(rawInput[index]); + break; + case ']': + if (currentLine.back() == '[') + { + currentLine.pop_back(); + } + else + { + illegalPoints += 57; + return; + } + break; + case ')': + if (currentLine.back() == '(') + { + currentLine.pop_back(); + } + else + { + illegalPoints += 3; + return; + } + break; + case '}': + if (currentLine.back() == '{') + { + currentLine.pop_back(); + } + else + { + illegalPoints += 1197; + return; + } + break; + case '>': + if (currentLine.back() == '<') + { + currentLine.pop_back(); + } + else + { + illegalPoints += 25137; + return; + } + break; + default: + cout << "Wrong input!" << endl; + cout << rawInput[index] << ", index " << index << endl; + return; + } + } +} + +int main(void) +{ + string rawInput; + ifstream readFile ("data/input.txt", ios::in); + while(getline(readFile, rawInput)) + { + filterFunction(rawInput); + } + cout << "Total points: " << illegalPoints; + return 0; +} diff --git a/day10/part1Input.txt b/day10/part1Instructions.txt similarity index 100% rename from day10/part1Input.txt rename to day10/part1Instructions.txt