9/13/2016

StringStream Hackerrank Solution in C++ | 1 Click Solution

Write a program to find the StringStream Hackerrank Solution in C++| programming language. For this problem first step is to take user input and after taking user input to implement the function vector parseInts(string str), user input separated integer. So basically in this problem, we are going to use vector and string stream Below is the explanation of the problem in a step by step with an example. For solving this problem we have to know about some basics related to a string stream.

String Stream in C++ Hackerrank Solution


In this StringStream Hackerrank Solution in C++, StringStream is a stream class to operate on strings. It basically implements input/output operations on memory (string) based Streams. StringStream can be helpful in a different type of parsing. The following operators/functions are commonly used here.

StringStream Hackerrank Solution in C++


Operator >> Extracts formatted data.
Operator << Inserts formatted data.
Method str() Gets the contents of the underlying string device object.
Method str(string) Sets the contents of the underlying string device object.

Its header file is sstream.

One common use of this class is to parse comma-separated integers from a string (e.g., "23,4,56").

stringstream ss("23,4,56");
char ch;
int a, b, c;
ss >> a >> ch >> b >> ch >> c; // a = 23, b = 4, c = 56
 
You have to complete the function vector parseInts(string str). str will be a string consisting of comma-separated integers, and you have to return a vector of int representing the integers.

Note If you want to know how to push elements in a vector, solve the first problem in the STL chapter.

Input Format


The first and only line consists of n integers separated by commas.

Output Format


Print the integers after parsing it.

P.S.: I/O will be automatically handled. You need to complete the function only.

Sample Input


23,4,56

Sample Output


23
4
56

StringStream Hackerrank Explanation


So as we discuss above(StringStream Hackerrank Solution in C++) first we take user input in a single line, the input will be separated by the commas. As shown below we declare string str.

string str;
cin >> str;
vector<int> integers = parseInts(str);
for(int i = 0; i < integers.size(); i++) 
{
cout << integers[i] << "\n";
}

Above we also pass the user input separated by commas to vector function. Now the input is taken, the next step is to print the integers. if you don't know how to push back element work, then you have to take a tour with STL (Standard Template Library for C++). Below is the scenario of a vector function.

Recommended: HackerRank Algorithms Solutions

vector<int> parseInts(string str) 
{
statement.............1
statement.............2
statement.............3
.
.
.
statement.............n
}

Now the implementation of the vector function is described below with all needed action to perform and run the code or run the solution correctly.

stringstream ss(str); 
vector<int> out;
char ch;
int temp;
while(ss >> temp) // Extracts formatted data.

out.push_back(temp);
ss >> ch; 
}
 
That's it our code is working successfully.

Submit your solution here: Click here

Tip: Before copy the String Stream in C++ Hackerrank Solution, I recommended please read this full article, this will help you to build your own logic.

StringStream Hackerrank Solution in C++


Below is the String Stream in C++ Hackerrank Solution of given under the C++ Domain in Hackerrank competitive coding website. I have explained everything regarding the programming challenge above.

#include <sstream>
#include <vector>
#include <iostream>
using namespace std;
vector<int> parseInts(string str)
{
stringstream ss(str);
vector<int> out;
char ch;
int temp;
while(ss >> temp)
{
out.push_back(temp);
ss >> ch;
}
return out;
}
int main()
{
string str;
cin >> str;
vector<int> integers = parseInts(str);
for(int i = 0; i < integers.size(); i++)
{
cout << integers[i] << "\n";
}
return 0;
}

StringStream Hackerrank Solution Output

Previous Post
Next Post

post written by:

Hi, I’m Ghanendra Yadav, SEO Expert, Professional Blogger, Programmer, and UI Developer. Get a Solution of More Than 500+ Programming Problems, and Practice All Programs in C, C++, and Java Languages. Get a Competitive Website Solution also Ie. Hackerrank Solutions and Geeksforgeeks Solutions. If You Are Interested to Learn a C Programming Language and You Don't Have Experience in Any Programming, You Should Start with a C Programming Language, Read: List of Format Specifiers in C.
Follow Me

2 comments:

  1. Nice.... It's working...

    ReplyDelete
  2. It is Nice article and helpful for us but you can also visit this website for c++ tutorials

    ReplyDelete