From 65e5490873d202451b52224685da3e55811aec33 Mon Sep 17 00:00:00 2001 From: Ayush Jain Date: Wed, 23 Oct 2019 11:40:17 +0530 Subject: [PATCH] added solution to compare The triplets https://www.hackerrank.com/challenges/compare-the-triplets/problem --- Hackerrank/C++/compareTheTriplets.cpp | 108 ++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 Hackerrank/C++/compareTheTriplets.cpp diff --git a/Hackerrank/C++/compareTheTriplets.cpp b/Hackerrank/C++/compareTheTriplets.cpp new file mode 100644 index 00000000..5cab4b1c --- /dev/null +++ b/Hackerrank/C++/compareTheTriplets.cpp @@ -0,0 +1,108 @@ +#include + +using namespace std; + +string ltrim(const string &); +string rtrim(const string &); +vector split(const string &); + +// Complete the compareTriplets function below. +vector compareTriplets(vector a, vector b) { +vector arr(2); +for(int i=0;i<3;i++) +{ + if(a[i]>b[i]) + arr[0]++; + else if(b[i]>a[i]) + arr[1]++; + +} +return arr; + +} + +int main() +{ + ofstream fout(getenv("OUTPUT_PATH")); + + string a_temp_temp; + getline(cin, a_temp_temp); + + vector a_temp = split(rtrim(a_temp_temp)); + + vector a(3); + + for (int i = 0; i < 3; i++) { + int a_item = stoi(a_temp[i]); + + a[i] = a_item; + } + + string b_temp_temp; + getline(cin, b_temp_temp); + + vector b_temp = split(rtrim(b_temp_temp)); + + vector b(3); + + for (int i = 0; i < 3; i++) { + int b_item = stoi(b_temp[i]); + + b[i] = b_item; + } + + vector result = compareTriplets(a, b); + + for (int i = 0; i < result.size(); i++) { + fout << result[i]; + + if (i != result.size() - 1) { + fout << " "; + } + } + + fout << "\n"; + + fout.close(); + + return 0; +} + +string ltrim(const string &str) { + string s(str); + + s.erase( + s.begin(), + find_if(s.begin(), s.end(), not1(ptr_fun(isspace))) + ); + + return s; +} + +string rtrim(const string &str) { + string s(str); + + s.erase( + find_if(s.rbegin(), s.rend(), not1(ptr_fun(isspace))).base(), + s.end() + ); + + return s; +} + +vector split(const string &str) { + vector tokens; + + string::size_type start = 0; + string::size_type end = 0; + + while ((end = str.find(" ", start)) != string::npos) { + tokens.push_back(str.substr(start, end - start)); + + start = end + 1; + } + + tokens.push_back(str.substr(start)); + + return tokens; +}