Given three numbers R, G and B as the color code for Red, Green and Blue respectively as in the form of RGB color code. The task is to know whether the given color code is valid or not.
RGB Format: The RGB(Red, Green, Blue) format is used to define the color of an HTML element by specifying the R, G, B values range between 0 to 255. For example: RGB value of Red color is (255, 0, 0), Green color is (0, 255, 0), Blue color is (0, 0, 255) etc.
color: rgb(R, G, B);
Note: The color code is valid when all numbers are in the range [0, 255].
Examples:
Input: R=0, G=100, B=255
Output: True
Explanation: Every color is in range [0, 255]Input: R=0, G=200, B=355
Output: False
Explanation: Blue is not in range [0, 255]
Approach: To check if the color code is valid or not we need to check if each of the color is in the range [0, 255] or not. If any of the color is not in this range, return false, else return true.
Below is the implementation of the approach:
#include <iostream> using namespace std;
// Function to check validity // of the color code bool isValidRGB( int R, int G, int B)
{ if (R < 0 || R > 255)
return false ;
else if (G < 0 || G > 255)
return false ;
else if (B < 0 || B > 255)
return false ;
else
return true ;
} // Driver code int main()
{ int R, G, B;
// Check if rgb(0, 0, 0) is valid or not
R = 0, G = 0, B = 0;
(isValidRGB(R, G, B)) ? cout << "true\n"
: cout << "false\n" ;
// Check if rgb(0, 100, 255) is valid or not
R = 0, G = 100, B = 255;
(isValidRGB(R, G, B)) ? cout << "true\n"
: cout << "false\n" ;
// Check if rgb(0, 200, 355) is valid or not
R = 0, G = 200, B = 355;
(isValidRGB(R, G, B)) ? cout << "true\n"
: cout << "false\n" ;
// Check if rgb(-100, 0, 255) is valid or not
R = -100, G = 0, B = 255;
(isValidRGB(R, G, B)) ? cout << "true\n"
: cout << "false\n" ;
return 0;
} |
class GFG {
// Function to check validity
// of the color code
public static boolean isValidRGB( int R, int G, int B) {
if (R < 0 || R > 255 )
return false ;
else if (G < 0 || G > 255 )
return false ;
else if (B < 0 || B > 255 )
return false ;
else
return true ;
}
// Driver code
public static void main(String args[]) {
int R, G, B;
// Check if rgb(0, 0, 0) is valid or not
R = 0 ;
G = 0 ;
B = 0 ;
if (isValidRGB(R, G, B))
System.out.println( "true" );
else
System.out.println( "false" );
// Check if rgb(0, 100, 255) is valid or not
R = 0 ;
G = 100 ;
B = 255 ;
if (isValidRGB(R, G, B))
System.out.println( "true" );
else
System.out.println( "false" );
// Check if rgb(0, 200, 355) is valid or not
R = 0 ;
G = 200 ;
B = 355 ;
if (isValidRGB(R, G, B))
System.out.println( "true" );
else
System.out.println( "false" );
// Check if rgb(-100, 0, 255) is valid or not
R = - 100 ;
G = 0 ;
B = 255 ;
if (isValidRGB(R, G, B))
System.out.println( "true" );
else
System.out.println( "false" );
}
} // This code is contributed by saurabh_jaiswal |
# Function to check validity # of the color code def isValidRGB(R, G, B) :
if (R < 0 or R > 255 ) :
return False ;
elif (G < 0 or G > 255 ) :
return False ;
elif (B < 0 or B > 255 ) :
return False ;
else :
return True ;
# Driver code if __name__ = = "__main__" :
# Check if rgb(0, 0, 0) is valid or not
R = 0 ; G = 0 ; B = 0 ;
if isValidRGB(R, G, B) :
print ( "true" )
else :
print ( "false" )
# Check if rgb(0, 100, 255) is valid or not
R = 0 ; G = 100 ; B = 255 ;
if isValidRGB(R, G, B) :
print ( "true" )
else :
print ( "false" )
# Check if rgb(0, 200, 355) is valid or not
R = 0 ; G = 200 ; B = 355 ;
if isValidRGB(R, G, B) :
print ( "true" )
else :
print ( "false" )
# Check if rgb(-100, 0, 255) is valid or not
R = - 100 ; G = 0 ; B = 255 ;
if isValidRGB(R, G, B) :
print ( "true" )
else :
print ( "false" )
# This code is contributed by AnkThon
|
using System;
public class GFG {
// Function to check validity
// of the color code
public static bool isValidRGB( int R, int G, int B) {
if (R < 0 || R > 255)
return false ;
else if (G < 0 || G > 255)
return false ;
else if (B < 0 || B > 255)
return false ;
else
return true ;
}
// Driver code
public static void Main( string []args) {
int R, G, B;
// Check if rgb(0, 0, 0) is valid or not
R = 0;
G = 0;
B = 0;
if (isValidRGB(R, G, B))
Console.WriteLine( "true" );
else
Console.WriteLine( "false" );
// Check if rgb(0, 100, 255) is valid or not
R = 0;
G = 100;
B = 255;
if (isValidRGB(R, G, B))
Console.WriteLine( "true" );
else
Console.WriteLine( "false" );
// Check if rgb(0, 200, 355) is valid or not
R = 0;
G = 200;
B = 355;
if (isValidRGB(R, G, B))
Console.WriteLine( "true" );
else
Console.WriteLine( "false" );
// Check if rgb(-100, 0, 255) is valid or not
R = -100;
G = 0;
B = 255;
if (isValidRGB(R, G, B))
Console.WriteLine( "true" );
else
Console.WriteLine( "false" );
}
} // This code is contributed by AnkThon |
<script> // Function to check validity
// of the color code
const isValidRGB = (R, G, B) => {
if (R < 0 || R > 255)
return false ;
else if (G < 0 || G > 255)
return false ;
else if (B < 0 || B > 255)
return false ;
else
return true ;
}
// Driver code
let R, G, B;
// Check if rgb(0, 0, 0) is valid or not
R = 0, G = 0, B = 0;
(isValidRGB(R, G, B)) ? document.write( "true<br/>" )
: document.write( "false<br/>" );
// Check if rgb(0, 100, 255) is valid or not
R = 0, G = 100, B = 255;
(isValidRGB(R, G, B)) ? document.write( "true<br/>" )
: document.write( "false<br/>" );
// Check if rgb(0, 200, 355) is valid or not
R = 0, G = 200, B = 355;
(isValidRGB(R, G, B)) ? document.write( "true<br/>" )
: document.write( "false<br/>" );
// Check if rgb(-100, 0, 255) is valid or not
R = -100, G = 0, B = 255;
(isValidRGB(R, G, B)) ? document.write( "true<br/>" )
: document.write( "false<br/>" );
// This code is contributed by rakeshsahni
</script> |
true true false false
Time Complexity: O(1)
Auxiliary Space: O(1)
Approach 2: Using Regular Expression:
- This approach uses regular expressions to match valid RGB color codes.
- The regular expression pattern ^rgb\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\)$ matches a string that starts with “rgb(“, followed by three comma-separated integers (each representing a color component), and ends with “)”.
- The integers are matched using regex character classes to ensure that they are between 0 and 255 (inclusive).
- The \s* in between the commas and integers matches any whitespace characters (including none) between them. The ^ and $ at the beginning and end of the pattern ensure that the entire string is matched, i.e., there are no extraneous characters before or after the color code.
Here is the code of above approach:
#include <iostream> #include <regex> using namespace std;
// Function to check validity of the color code bool isValidRGB(string colorCode) {
// Regular expression to match valid RGB color codes
regex pattern( "^rgb\\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\)$" );
// Check if the color code matches the pattern
return regex_match(colorCode, pattern);
} // Driver code int main() {
// Check if rgb(0, 0, 0) is valid or not
string colorCode = "rgb(0, 0, 0)" ;
(isValidRGB(colorCode)) ? cout << "true\n" : cout << "false\n" ;
// Check if rgb(0, 100, 255) is valid or not
colorCode = "rgb(0, 100, 255)" ;
(isValidRGB(colorCode)) ? cout << "true\n" : cout << "false\n" ;
// Check if rgb(0, 200, 355) is valid or not
colorCode = "rgb(0, 200, 355)" ;
(isValidRGB(colorCode)) ? cout << "true\n" : cout << "false\n" ;
// Check if rgb(-100, 0, 255) is valid or not
colorCode = "rgb(-100, 0, 255)" ;
(isValidRGB(colorCode)) ? cout << "true\n" : cout << "false\n" ;
return 0;
} |
import java.util.regex.*;
public class GFG {
// Function to check validity of the color code
public static boolean isValidRGB(String colorCode)
{
// Regular expression to match valid RGB color codes
String pattern
= "^rgb\\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\)$" ;
// Create a Pattern object
Pattern regexPattern = Pattern.compile(pattern);
// Create a Matcher object
Matcher matcher = regexPattern.matcher(colorCode);
// Check if the color code matches the pattern
return matcher.matches();
}
// Driver code
public static void main(String[] args)
{
// Check if rgb(0, 0, 0) is valid or not
String colorCode = "rgb(0, 0, 0)" ;
System.out.println(isValidRGB(colorCode));
// Check if rgb(0, 100, 255) is valid or not
colorCode = "rgb(0, 100, 255)" ;
System.out.println(isValidRGB(colorCode));
// Check if rgb(0, 200, 355) is valid or not
colorCode = "rgb(0, 200, 355)" ;
System.out.println(isValidRGB(colorCode));
// Check if rgb(-100, 0, 255) is valid or not
colorCode = "rgb(-100, 0, 255)" ;
System.out.println(isValidRGB(colorCode));
}
} // This code is contributed by Taranpreet Singh. |
import re
# Function to check validity of the color code def is_valid_rgb(color_code):
# Regular expression to match valid RGB color codes
pattern = r '^rgb\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\)$'
# Check if the color code matches the pattern
return re.match(pattern, color_code) is not None
# Driver code if __name__ = = "__main__" :
# Check if rgb(0, 0, 0) is valid or not
color_code = "rgb(0, 0, 0)"
print ( "true" if is_valid_rgb(color_code) else "false" )
# Check if rgb(0, 100, 255) is valid or not
color_code = "rgb(0, 100, 255)"
print ( "true" if is_valid_rgb(color_code) else "false" )
# Check if rgb(0, 200, 355) is valid or not
color_code = "rgb(0, 200, 355)"
print ( "true" if is_valid_rgb(color_code) else "false" )
# Check if rgb(-100, 0, 255) is valid or not
color_code = "rgb(-100, 0, 255)"
print ( "true" if is_valid_rgb(color_code) else "false" )
# This code is contributed by Taranpreet Singh. |
using System;
using System.Text.RegularExpressions;
public class GFG {
// Function to check the validity of the color code
public static bool IsValidRGB( string colorCode)
{
// Regular expression to match valid RGB color codes
Regex pattern = new Regex(
@"^rgb\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\)$" );
// Check if the color code matches the pattern
return pattern.IsMatch(colorCode);
}
public static void Main()
{
// Check if rgb(0, 0, 0) is valid or not
string colorCode = "rgb(0, 0, 0)" ;
Console.WriteLine(IsValidRGB(colorCode));
// Check if rgb(0, 100, 255) is valid or not
colorCode = "rgb(0, 100, 255)" ;
Console.WriteLine(IsValidRGB(colorCode));
// Check if rgb(0, 200, 355) is valid or not
colorCode = "rgb(0, 200, 355)" ;
Console.WriteLine(IsValidRGB(colorCode));
// Check if rgb(-100, 0, 255) is valid or not
colorCode = "rgb(-100, 0, 255)" ;
Console.WriteLine(IsValidRGB(colorCode));
}
} |
// Function to check validity of the color code function isValidRGB(colorCode) {
// Regular expression to match valid RGB color codes
const pattern = /^rgb\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\)$/;
// Check if the color code matches the pattern
return pattern.test(colorCode);
} // Example usage let colorCode = "rgb(0, 0, 0)" ;
console.log(isValidRGB(colorCode)); // Output: true
colorCode = "rgb(0, 100, 255)" ;
console.log(isValidRGB(colorCode)); // Output: true
colorCode = "rgb(0, 200, 355)" ;
console.log(isValidRGB(colorCode)); // Output: false
colorCode = "rgb(-100, 0, 255)" ;
console.log(isValidRGB(colorCode)); // Output: false
|
true true false false
Time Complexity: O(1)
Auxiliary Space: O(1)