StringStream Hackerrank Solution in C++ with Explanation. In this challenge, we work with string streams. stringstream is a stream class to operate on strings. It implements input/output operations on memory (string) based streams. stringstream can be helpful in different types of parsing. The following operators/functions are commonly used here
- 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
Here ch is a storage area for the discarded commas.
If the >> operator returns a value, that is a true value for a conditional. Failure to return a value is false.
Given a string of comma-delimited integers, return a vector of integers.
Function Description
Complete the parseInts function in the editor below. parseInts has the following parameters:
- string str: a string of comma-separated integers
Returns
- vector<int>: a vector of the parsed integers.
Note You can learn to push elements onto a vector by solving the first problem in the STL chapter.
Input Format
There is one line of n integers separated by commas.
Constraints
The length of str is less than 8 * 10pow5.
Sample Input
23,4,56
Sample Output
23
4
56
StringStream Hackerrank Solution in C++
The 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.
#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;
}
Submit your solution here: Click here
- StringStream Hackerrank Solution in C++
- Attribute Parser Hackerrank Solution in C++
- Basic Data Types HackerRank Solution in C++
- For Loop Hackerrank Solution in C++
- Functions in C++ Hackerrank Solution
- Pointer Hackerrank Solution in C++
- Arrays Introduction Hackerrank Solution in C++
- Strings Hackerrank Solution in C++
- Plus Minus Hackerrank Solution C++
- Hello World in C Hackerrank Solution
- Divisible Sum Pairs Hackerrank Solution in C++
- Apple And Orange Hackerrank Solution
0 Comments: