In this HackerEarth Sahil's computer address problem solution we have Given a String S, you need to report if the given String is a valid IP Address :
A valid IP address is:
- It has exactly 4 non-empty parts separated by 3 dots, like: 255 [dot] 255 [dot] 255 [dot] 255
- The decimal value of each part of the IP address should never exceed 255 and never be less than zero.
[dot] is written, instead of the .(dot) character for readability.
HackerEarth Sahil's computer address problem solution.
#include<bits/stdc++.h>
using namespace std;
int main()
{
int dots = 0, i = 0;
string s, octet_str;
cin >> s;
bool is_valid = true;
while (1)
{
char c = s[i++];
if (c == '.' || c == 0)
{
if (octet_str.empty())
{
is_valid = false;
break;
}
int octet_value = stoi(octet_str);
if (octet_value < 0 || octet_value > 255)
{
is_valid = false;
break;
}
if (c == 0)
break;
++dots;
octet_str.clear();
}
else
{
octet_str += c;
}
}
if (dots != 3)
{
is_valid = false;
}
cout << (is_valid ? "YES\n" : "NO\n");
return 0;
}
0 Comments