You've successfully subscribed to The Poor Coder | Hackerrank Solutions
Great! Next, complete checkout for full access to The Poor Coder | Hackerrank Solutions
Welcome back! You've successfully signed in.

## Hackerrank Strings Solution

Beeze Aal

C++ provides a nice alternative data type to manipulate strings, and the data type is conveniently called string. Some of its widely used features are the following:

Declaration:

string a = "abc";


Size:

int len = a.size();


Concatenate two strings:

string a = "abc";
string b = "def";
string c = a + b; // c = "abcdef".


Accessing  element:

string s = "abc";
char   c0 = s[0];   // c0 = 'a'
char   c1 = s[1];   // c1 = 'b'
char   c2 = s[2];   // c2 = 'c'

s[0] = 'z';         // s = "zbc"


P.S.: We will use cin/cout to read/write a string.

Input Format

You are given two strings,  and , separated by a new line. Each string will consist of lower case Latin characters ('a'-'z').

Output Format

In the first line print two space-separated integers, representing the length of  and  respectively.
In the second line print the string produced by concatenating  and  ().
In the third line print two strings separated by a space,  and .  and  are the same as  and , respectively, except that their first characters are swapped.

Sample Input

abcd
ef


Sample Output

4 2
abcdef
ebcd af


Explanation

• "abcd"
• "ef"
• "abcdef"
• "ebcd"
• "af"

### Solution in cpp

Approach 1.

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

int main() {
string a,b;
char temp;
cin>>a>>b;
cout<<a.size()<<' '<<b.size()<<endl;
cout<<a+b<<endl;
temp=a[0];
a[0]=b[0];
b[0]=temp;
cout<<a<<' '<<b;

return 0;
}


Approach 2.

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

int main() {
string a,b;
char i,j;
int c,d;
cin>>a;
cin>>b;
c=a.size();
d=b.size();
cout<<c<<" "<<d<<"\n";
cout<<a+b<<"\n";
i=b[0];
b[0]=a[0];
a[0]=i;
cout<<a<<" ";
cout<<b;
return 0;
}



Approach 3.

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

int main() {
std::string a, b;
std::cin >> a >> b;

std::cout << a.size() << " " << b.size() << std::endl
<< a + b << std::endl;

std::swap(a[0], b[0]);
std::cout << a << " " << b;

return 0;
}