Practice Qs Understanding "Good Strings" in JavaScript
In programming, string manipulations are among the most common tasks. Let's dive into an interesting problem statement: identifying whether a string is a "good string" based on specific criteria. This blog will explore the concept, explain the conditions, and implement the solution using JavaScript.
What Is a "Good String"?
A "good string" is defined as:
A string that starts with the letter
'a'
(in lowercase).A string with a length greater than 3.
If a string satisfies both these conditions, it is a "good string." Otherwise, it is not.
Breaking Down the Problem
Condition 1: Starts with 'a'
The first character of the string must be 'a'
(in lowercase). You can access the first character of a string using indexing:
str[0] === 'a';
Examples:
"apple" starts with 'a' – True.
"snake" does not start with 'a' – False.
Condition 2: Length Greater Than 3
The length of the string must be greater than 3. You can find the length of a string using:
str.length > 3;
Examples:
"apple" has a length of 5 – True.
"app" has a length of 3 – False.
Apple = 5 Good string
Am = 3 Bad string
Combining the Conditions
To determine whether a string is "good," both conditions must be true. This is where the logical &&
(AND) operator comes into play:
if ((str[0] === 'a') && (str.length > 3)) {
console.log("Good String");
} else {
console.log("Not a Good String");
}
Implementing the Solution
Example 1: String = "apple"
let str = "apple";
if ((str[0] === 'a') && (str.length > 3)) {
console.log("Good String");
} else {
console.log("Not a Good String");
}
Output:
Good String
Example 2: String = "app"
let str = "app";
if ((str[0] === 'a') && (str.length > 3)) {
console.log("Good String");
} else {
console.log("Not a Good String");
}
Output:
Not a Good String
Example 3: String = "snake"
let str = "snake";
if ((str[0] === 'a') && (str.length > 3)) {
console.log("Good String");
} else {
console.log("Not a Good String");
}
Output:
Not a Good String
Practice Question
Predict the output of the following code:
let num = 12;
if ((num % 3 === 0) && ((num + 1 === 15) || (num - 1 === 11))) {
console.log("Safe");
} else {
console.log("Unsafe");
}
Explanation
num % 3 === 0
evaluates to true (12 is divisible by 3).(num + 1 === 15)
evaluates to false (12 + 1 = 13, not 15).(num - 1 === 11)
evaluates to true (12 - 1 = 11).The overall condition
true && (false || true)
simplifies to true.
Output:
Safe