Friday, January 1, 2021

Inheritance Introduction | HackerRank | C++ | Inheritance | Solution | Color The Code



Problem : https://www.hackerrank.com/challenges/inheritance-introduction/problem

Solution : 

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


class Triangle{
    public:
        void triangle(){
            cout<<"I am a triangle\n";
        }
};

class Isosceles : public Triangle{
    public:
        void isosceles(){
            cout<<"I am an isosceles triangle\n";
        }
        //Write your code here.
        void description(){
            cout<<"In an isosceles triangle two sides are equal\n";
        }
};

int main(){
    Isosceles isc;
    isc.isosceles();
    isc.description();
    isc.triangle();
    return 0;
}

Print Pretty | HackerRank | C++ | STL | Solution | Color The Code



Problem : https://www.hackerrank.com/challenges/prettyprint/problem

Solution :

#include <iostream>
#include <iomanip> 
using namespace std;

int main() {
    int T; cin >> T;
    cout << setiosflags(ios::uppercase);
    cout << setw(0xf) << internal;
    while(T--) {
        double A; cin >> A;
        double B; cin >> B;
        double C; cin >> C;

        /* Enter your code here */
        long long int D = (long)A;
        cout<<hex<<showbase<<left<<nouppercase<<D<<endl;
        cout<<fixed<<dec<<setw(15)<<setprecision(2)<<showpos<<right<<setfill('_');
        cout<<B<<endl;
        cout<<setprecision(9)<<dec<<left<<noshowpos<<uppercase<<scientific;
        cout<<C<<endl;
    }

Maps-STL | HackerRank | C++ | Solution | Color The Code



Problem : https://www.hackerrank.com/challenges/cpp-maps/problem

Solution : 

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <set>
#include <map>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */   
    int Q;
    cin>>Q;
    map<string,int>mp;
    while(Q--){
        int type;
        cin>>type;
        if(type == 1){
            string name;
            int marks;
            cin>>name>>marks;
            if(mp.find(name)!=mp.end()){
                mp[name] = mp[name] + marks;
            }else{
                mp[name] = marks;
            }
            
        }else if(type == 2){
            
            string name;
            cin>>name;
            mp[name] = 0;
        }else if(type == 3){
            string name;
            cin>>name;
            cout<<mp[name]<<endl;
        }
    }
    return 0;
  
}




Sets-STL | HackerRank | C++ | Solution | Color The Code



Problem : https://www.hackerrank.com/challenges/cpp-sets/problem

Solution : 

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */  
    int q;
    cin>>q;
    set<int>s;
    while(q--) {
        int y , x;
        cin>>y>>x;
        if( y == 1){
            s.insert(x);
        }else if ( y == 2){
            s.erase(x);
        }else if ( y == 3){
            set<int>::iterator itr = s.find(x);
            if(itr == s.end()){
                cout<<"No\n";
            }else{
                cout<<"Yes\n";
            }
        }
    }
    return 0;
}

Lower Bound-STL | HackerRank | C++ | Solution | Color The Code



Problem : https://www.hackerrank.com/challenges/cpp-lower-bound/problem

Solution : 

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */  
    
     int n ;
     cin>>n;
     vector<int>v;
     for(int i =0;i<n;i++){
         int temp;
         cin>>temp;
         v.push_back(temp);
     }
     
     int q;
     cin>>q;
     int num;
     while(q--){
         cin>>num;
         int r = lower_bound(v.begin(),v.end(),num) - v.begin();
         if(v[r] == num)cout<<"Yes "<<r+1<<endl;
         else cout<<"No "<<r+1<<endl;
     }
    return 0;
}

Vector-Erase | HackerRank | C++ | Solution



Problem : https://www.hackerrank.com/challenges/vector-erase/problem

Solution : 

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */ 
    int n ;
    cin>>n;
    vector<int>  v;
    int temp;
    for(int i =0;i<n;i++){
        cin>>temp;
        v.push_back(temp);
    }
    // 1 4 6 2 8 9
    
    int pos1; // 2
    cin>>pos1;
    
    v.erase(v.begin()+pos1-1);
    
    // 1 6 2 8 9
    
    int a, b;  // a = 2 and b = 4
    cin>>a>>b;
    
    
    v.erase(v.begin()+a-1,v.begin()+b-1);
    
    
    // 1 8 9
    
    
    cout<<v.size()<<endl;
    for(int i:v){
        cout<<i<<" ";
    }
    
    
}

Vector-Sort | STL | HackerRank | C++ | Solution | Color The Code



Problem : https://www.hackerrank.com/challenges/vector-sort/problem

Solution : 

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */ 
    vector<int>  v;
    int n;
    cin>>n;
    int temp;
    for(int i =0;i<n;i++){
        cin>>temp;
        v.push_back(temp);
    }
    
    sort(v.begin(),v.end());
    for(int i=0;i<n;i++){
        cout<<v[i]<<" ";
    }
    return 0;
}

Box It! | HackerRank | C++ | Solution



Problem : https://www.hackerrank.com/challenges/box-it/problem

Solution : 

#include<bits/stdc++.h>

using namespace std;
//Implement the class Box  
class Box{
    private:
        int l,b,h;
    public :
        Box():l(0),b(0),h(0){
        }
        Box(int l , int b , int h){
            this->l = l;
            this->b = b;
            this->h = h;
        }
        Box(Box & obj){
            l = obj.l;
            b = obj.b;
            h = obj.h;   
        }
        
        int getLength(){
            return l;
        }
        int getBreadth(){
            return b;
        }
        int getHeight(){
            return h;
        }
        long long CalculateVolume(){
            return long(l)*long(b)*long(h);
        }
        
        bool operator<(Box& b){
            if (this->l < b.l){ return true;}
            else if (this->b < b.b && this->l == b.l) { return true;}
            else if (this->h < b.h && this->b ==b.b && this->l == b.l){return true;}
            return false;
        }
        friend ostream& operator<<(ostream& out, Box& B){
            out << B.l <<" "<<B.b<<" "<<B.h;
            return out;
        }
            
};
//l,b,h are integers representing the dimensions of the box

// The class should have the following functions : 

// Constructors: 
// Box();
// Box(int,int,int);
// Box(Box);


// int getLength(); // Return box's length
// int getBreadth (); // Return box's breadth
// int getHeight ();  //Return box's height
// long long CalculateVolume(); // Return the volume of the box

//Overload operator < as specified
//bool operator<(Box& b)


//Overload operator << as specified
//ostream& operator<<(ostream& out, Box& B)




void check2()
{
    int n;
    cin>>n;
    Box temp;
    for(int i=0;i<n;i++)
    {
        int type;
        cin>>type;
        if(type ==1)
        {
            cout<<temp<<endl;
        }
        if(type == 2)
        {
            int l,b,h;
            cin>>l>>b>>h;
            Box NewBox(l,b,h);
            temp=NewBox;
            cout<<temp<<endl;
        }
        if(type==3)
        {
            int l,b,h;
            cin>>l>>b>>h;
            Box NewBox(l,b,h);
            if(NewBox<temp)
            {
                cout<<"Lesser\n";
            }
            else
            {
                cout<<"Greater\n";
            }
        }
        if(type==4)
        {
            cout<<temp.CalculateVolume()<<endl;
        }
        if(type==5)
        {
            Box NewBox(temp);
            cout<<NewBox<<endl;
        }

    }
}

int main()
{
    check2();
}

Classes and Objects | HackerRank | c++ | Solution | color the code



Problem : https://www.hackerrank.com/challenges/classes-objects/problem

Solution : 

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <cassert>
using namespace std;

// Write your Student class here

#include<numeric>
// Write your Student class here

class Student{
    private:
        int marks[5];
    public:
        void input(){
            for(int i  =0 ;i<5;i++){
                cin>>marks[i];
            }
        }
        
        int calculateTotalScore(){
            int total = 0;
            return accumulate(marks,marks+5,total);
        } 
};

int main() {
    int n; // number of students
    cin >> n;
    Student *s = new Student[n]; // an array of n students
    
    for(int i = 0; i < n; i++){
        s[i].input();
    }

    // calculate kristen's score
    int kristen_score = s[0].calculateTotalScore();

    // determine how many students scored higher than kristen
    int count = 0
    for(int i = 1; i < n; i++){
        int total = s[i].calculateTotalScore();
        if(total > kristen_score){
            count++;
        }
    }

    // print result
    cout << count;
    
    return 0;
}

Class | HackerRank | C++ | Solution | Color The Code



Problem : https://www.hackerrank.com/challenges/c-tutorial-class/problem

Solution : 

#include <iostream>
#include <sstream>
using namespace std;

/*
Enter code for class Student here.
Read statement for specification.
*/

class Student{
private:
    int age;
    string first_name;
    string last_name;
    int standard;
public : 
    void set_age(int age){
        this->age  = age;
    }
    void set_standard(int standard){
        this->standard  = standard;
    }
    void set_first_name(string first_name){
        this->first_name = first_name;
    }
    void set_last_name(string last_name){
        this->last_name = last_name;
    }
    
    int get_age(){
        return age;
    }
    
    string get_first_name(){
        return first_name;
    }
    
    string get_last_name(){
        return last_name;
    }
    int get_standard(){
        return standard;
    }
    
    string to_string(){
        string str;
        stringstream s;
        s<<age<<","<<first_name<<","<<last_name<<","<<standard;
        s>>str;
        return str;
    }
    
    
};

int main() {
    int age, standard;
    string first_name, last_name;
    
    cin >> age >> first_name >> last_name >> standard;
    
    Student st;
    st.set_age(age);
    st.set_standard(standard);
    st.set_first_name(first_name);
    st.set_last_name(last_name);
    
    cout << st.get_age() << "\n";
    cout << st.get_last_name() << ", " << st.get_first_name() << "\n";
    cout << st.get_standard() << "\n";
    cout << "\n";
    cout << st.to_string();
    
    return 0;

Structs | HackerRank | C++ | Solution | Color The Code



Problem : https://www.hackerrank.com/challenges/c-tutorial-struct/problem

Solution :

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

/*
    add code for struct here.
*/

struct Student{
int age;
string first_name;
string last_name;
int standard;    
};

int main() {
    Student st;
    
    cin >> st.age >> st.first_name >> st.last_name >> st.standard;
    cout << st.age << " " << st.first_name << " " << st.last_name << " " << st.standard;
    
    return 0;
}

Strings | HackerRank | C++ | Solution



Problem : https://www.hackerrank.com/challenges/c-tutorial-strings/problem

Solution :

Conditional Statements | HackerRank | C++ | Solution | color the code



Problem : https://www.hackerrank.com/challenges/c-tutorial-conditional-if-else/problem

Solution : 

#include <bits/stdc++.h>


using namespace std;



int main()
{
    int n;
    cin >> n;
    cin.ignore(numeric_limits<streamsize>::max(), '\n');

    // Write Your Code Here
    if(n == 1){
        cout<<"one";
    }else if(n == 2){
        cout<<"two";
    }else if(n == 3){
        cout<<"three";
    }else if(n == 4){
        cout<<"four";
    }else if(n == 5){
        cout<<"five";
    }else if(n == 6){
        cout<<"six";
    }else if(n == 7){
        cout<<"seven";
    }else if(n == 8){
        cout<<"eight";
    }else if(n == 9){
        cout<<"nine";
    }else{
        cout<<"Greater than 9";
    }
    
    return 0;
}