From df78045a98893113a8ce5759e0230e35d2a884da Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 5 Dec 2018 23:15:56 +0000 Subject: [PATCH] day 5 part 1 --- AdventOfCode2018/5thDay/challenge1/a.out | Bin 0 -> 23848 bytes .../5thDay/challenge1/challenge.txt | 22 +++++++++ AdventOfCode2018/5thDay/challenge1/input.txt | 1 + AdventOfCode2018/5thDay/challenge1/main.cpp | 43 ++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100755 AdventOfCode2018/5thDay/challenge1/a.out create mode 100644 AdventOfCode2018/5thDay/challenge1/challenge.txt create mode 100644 AdventOfCode2018/5thDay/challenge1/input.txt create mode 100644 AdventOfCode2018/5thDay/challenge1/main.cpp diff --git a/AdventOfCode2018/5thDay/challenge1/a.out b/AdventOfCode2018/5thDay/challenge1/a.out new file mode 100755 index 0000000000000000000000000000000000000000..d6b73f632a905c62d9eac4850e67e5777465c982 GIT binary patch literal 23848 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 +#include +#include + +int main(int argc, char** argv) { + if (argc != 2) return 0; + + std::fstream input; + input.open(*(argv + 1)); + + std::string polymerString; + std::getline(input, polymerString); + + while (!false) { + int numOfMods = 0; + std::string eh = ""; + for (unsigned int i = 0; i < polymerString.length() - 1; i++) { + if (islower((char)polymerString[i])) { + if (toupper((char)polymerString[i]) == (char)polymerString[i+1]) { + eh += polymerString.substr(0, i); + eh += polymerString.substr(i + 2, polymerString.length()); + numOfMods++; + break; + } + } + if (isupper((char)polymerString[i])) { + if (tolower((char)polymerString[i]) == (char)polymerString[i+1]) { + eh += polymerString.substr(0, i); + eh += polymerString.substr(i + 2, polymerString.length()); + numOfMods++; + break; + } + } + } + if (eh != "") { + polymerString = eh; + } + std::cout << "Current length: " <