# HackerRank Utopian Identification Number Solution

#### ByBrokenprogrammers

Dec 8, 2022

Hello Programmers, In this post, you will know how to solve the HackerRank Utopian Identification Number Solution. This problem is a part of the Regex HackerRank Series.

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Hackerrank by yourself. If you find any difficulty after trying several times, then you can look for solutions.

## HackerRank Utopian Identification Number Solution

Problem

A new identification number is given for every Citizen of the Country Utopia and it has the following format.

• The string must begin with between 03 (inclusive) lowercase letters.
• Immediately following the letters, there must be a sequence of digits (0-9). The length of this segment must be between 2 and 8, both inclusive.
• Immediately following the numbers, there must be atleast 3 uppercase letters.

Your task is to find out if a given identification number is valid or not.

Input Format

The first line contains N, N lines follow each line containing an identification number.

Constraints

1 <= N <= 100

Output Format

For every identification number, please print

VALID

if the identification number is valid and print

INVALID

otherwise.

Sample Input

2
abc012333ABCDEEEE
0123AB

Sample Output

VALID
INVALID

Explanation

The first testcase is valid as it starts with 3 letters, followed by 6 integers (max of 8 and min of 2) and ends with more than 3 uppercase letters.
The second testcase is invalid as it satisfies the first (at least 0 lowercase letters) and the second condition (alteast 2 integers) but fails on the third condition.

Viewing Submissions

You can view others submissions if you solve this challenge. Navigate to the challenge leaderboard.

### HackerRank Utopian Identification Number Solutions in Cpp

```#include<iostream>
using namespace std;
#include<string.h>
int main(){

int t;

cin >> t;
getchar();
while(t){

char c;
int i=0,chk=0,countint=0,countlower=0,countupper=0;

while((c=getchar())!='\n' && c!=EOF){

if(i==0){

if((c>='0' && c<= '9'))
++countint;

else if(c>='a' && c<='z')
++countlower;

else
chk=1;

//  cout << " chk " << chk;
}

else if(countlower>=1 && c>='a' && c<='z'){

++countlower;

if(countlower>3)
chk=1;
}

else if(i>0 && countint>=1 && c>='0' && c<='9'){

++countint;

if(countint>8)
chk=1;

}

if(countint==0 && c>='0' && c<='9')
++countint;

if(countint<=1 && c>='A' && c<='Z')
chk=1;

if(c>='A' && c<='Z' && countupper>=0){

++countupper;

}

else{

if(countupper >0 && countupper<3)
chk=1;
}

++i;

}

if(countupper<3)
chk=1;

if(chk==1)
cout << "INVALID\n";

else
cout << "VALID\n";

--t;
}

return 0;
}```

### HackerRank Utopian Identification Number Solutions in Java

```import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String regex = "[a-z]{0,3}[0-9]{2,8}[A-Z]{3,}";
int N = sc.nextInt();
sc.nextLine();
for (int i=0; i<N; i++) {
String s = sc.nextLine();
if (s.matches(regex)) {
System.out.println("VALID");
} else {
System.out.println("INVALID");
}
}
}
}```

### HackerRank Utopian Identification Number Solutions in Python

```# Enter your code here. Read input from STDIN. Print output to STDOUT
import re
p = re.compile('[a-z]{,3}[0-9]{2,8}[A-Z]{3,}')
N = int(raw_input())
for i in range(N):
curr = raw_input()
m = p.match(curr)
if m:
if m.end() == len(curr):
print "VALID"
else:
print "INVALID"
else:
print "INVALID"```

### HackerRank Utopian Identification Number Solutions in JavaScript

```process.stdin.resume();
process.stdin.setEncoding("ascii");
process.stdin.on("data", function (input) {
input = input.split('\n');
var n = parseInt(input[0]),
strs = input.slice(1,n+1);
for (i=0, j=strs.length; i<j; i+=1) {
if (strs[i].match(/^[a-z]{0,3}\d{2,8}[A-Z]{3,}\$/g)) {
console.log('VALID');
} else {
console.log('INVALID');
}
}
});```

### HackerRank Utopian Identification Number Solutions in PHP

```<?php
\$_fp = fopen("php://stdin", "r");
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
fscanf(\$_fp, "%d", \$m);
\$lines = array();
for (\$i = 0; \$i < \$m; \$i++) {
\$line = trim(fgets(\$_fp));
print (preg_match('/^[a-z]{0,3}[0-9]{2,8}[A-Z]{3,}\$/', \$line) ? 'VALID' : 'INVALID') . PHP_EOL;
}```

Disclaimer: This problem (Utopian Identification Number) is generated by HackerRank but the Solution is Provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.