StringStream in C++ | HackerRank Solution

Hello there, today we are going to solve StringStream Hacker Rank Solution in C++.

Hello there, today we are going to solve StringStream Hacker Rank Solution in C++.

StringStream in C++
Table Of Contents 👊

Task

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 integer

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 X 10^5.

Sample Input

23,4,56

Sample Output

23
4
56

Solution - StringStream in C ++

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

vector<int> parseInts(string str) {
    // Complete this function
    stringstream ss(str);
    
char ch;
vector<int> ans;
int temp;
while(ss >> temp){
    ans.push_back(temp);
    ss >> ch;
}

return ans;
}

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;
}

Disclaimer: The above Problem (StringStream) is generated by Hacker Rank but the Solution is Provided by Sloth Coders. This tutorial is only for Educational and Learning Purpose.

Sloth Coders is a Learning Platform for Coders, Programmers and Developers to learn from the basics to advance of Coding of different langauges(python, Java, Javascript and many more).

Post a Comment