Skip to main content

Compare the Triplets | Hackerrank C++

Compare the Triplets



Alice and Bob each created one problem for HackerRank. A reviewer rates the two challenges, awarding points on a scale from 
1 to 100 for three categories: problem clarity, originality, and difficulty.

The rating for Alice's challenge is the triplet a = (a[0], a[1], a[2]), and the rating for Bob's challenge is the triplet b = (b[0], b[1], b[2]).

The task is to find their comparison points by comparing a[0] with b[0]a[1] with b[1], and a[2] with b[2].

  • If a[i] > b[i], then Alice is awarded 1 point.
  • If a[i] < b[i], then Bob is awarded 1 point.
  • If a[i] = b[i], then neither person receives a point.

Comparison points is the total points a person earned.

Given a and b, determine their respective comparison points


Sample Input:

5 6 7

3 6 10

Sample Output:

1 1


CODE:


#include <bits/stdc++.h>

using namespace std;

string ltrim(const string &);
string rtrim(const string &);
vector<string> split(const string &);

/*
 * Complete the 'compareTriplets' function below.
 *
 * The function is expected to return an INTEGER_ARRAY.
 * The function accepts following parameters:
 *  1. INTEGER_ARRAY a
 *  2. INTEGER_ARRAY b
 */

vector<int> compareTriplets(vector<int> a, vector<int> b) {
    vector<int> score;
    int alice=0,bob=0;
    for (int i=0; i<a.size(); i++) 
    {
        if (a[i]>b[i]) 
        {
            alice++;
        }
        else if (b[i]>a[i]) 
        {
            bob++;
        }
    }
    score.push_back(alice);
    score.push_back(bob);
    return score;
}

int main()
{
    ofstream fout(getenv("OUTPUT_PATH"));

    string a_temp_temp;
    getline(cin, a_temp_temp);

    vector<string> a_temp = split(rtrim(a_temp_temp));

    vector<int> 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<string> b_temp = split(rtrim(b_temp_temp));

    vector<int> b(3);

    for (int i = 0; i < 3; i++) {
        int b_item = stoi(b_temp[i]);

        b[i] = b_item;
    }

    vector<int> result = compareTriplets(a, b);

    for (size_t 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<intint>(isspace)))
    );

    return s;
}

string rtrim(const string &str) {
    string s(str);

    s.erase(
        find_if(s.rbegin(), s.rend(), not1(ptr_fun<intint>(isspace))).base(),
        s.end()
    );

    return s;
}

vector<string> split(const string &str) {
    vector<string> 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;
}

Thanks For Visiting

Comments

Popular posts from this blog

Revising the Select Query II | Hackerrank SQL Solution | MYSQL

  Problem Statement Query the  NAME  field for all American cities in the  CITY  table with populations larger than  120000 . The  CountryCode  for America is  USA . The   CITY   table is described as follows: .                                            Video Solution: APPROACH 1. First select name column 2. Then use two condition a) POPULATION > 120000 b) COUNTRYCODE="USA" MYSQL QUERY select name from city where POPULATION > 120000 and  COUNTRYCODE= "USA" ; Explanation 1. select name from city : It is used to select all the column from the table city. 2. where : It is used to describe conditions Thank You For Visiting...💖💖💖

CodeChef | Practice | Credits C++ Solution by Aryan Bhan

  Credits  In Uttu's college, a semester is said to be a: Overload  semester if the number of credits taken  > 65 > 65 . Underload  semester if the number of credits taken  < 35 < 35 . Normal  semester otherwise Given the number of credits  X X  taken by Uttu, determine whether the semester is  Overload ,  Underload  or  Normal . Code: #include <bits/stdc++.h> using namespace std ; int main () {     ios_base :: sync_with_stdio ( false );     cin . ignore ( NULL );     int t ;     cin >> t ;     while ( t --)     {         int x ;         cin >> x ;         if ( x < 35 )             cout << "Underload" ;         else if ( x > 65 )             cout << "Overload" ;   ...

Simple Array Sum | Hackerrank Problem Solving Algorithm by Aryan

Simple Array Sum Given an array of integers, find the sum of its elements. Function Description Complete the  simpleArraySum  function in the editor below. It must return the sum of the array elements as an integer. simpleArraySum has the following parameter(s): ar : an array of integers Sample Input: 5 1 2 3 4 5 Sample Output 15 Explanation 1+2+3+4+5=15 CODE #include   < bits/stdc++.h > using   namespace  std; string ltrim( const  string &); string rtrim( const  string &); vector<string> split( const  string &); /*  * Complete the 'simpleArraySum' function below.  *  * The function is expected to return an INTEGER.  * The function accepts INTEGER_ARRAY ar as parameter.  */ int  simpleArraySum(vector< int > ar) {      int  sum...