From acf7a86b9609077ba025431afb91788bd6163800 Mon Sep 17 00:00:00 2001 From: Taranjeet Singh Kalsi Date: Thu, 27 Oct 2022 23:26:34 +0530 Subject: [PATCH] Added function in Pangram.java (#3703) * Added function in Pangram.java Added isPangramIndexOf() function in Pangram.java * Added Tests for new function Added Tests for isPangramIndexOf() function * fixed typo * changed function name * changed function name Co-authored-by: Debasish Biswas --- .../com/thealgorithms/strings/Pangram.java | 19 +++++++++++++++++++ .../thealgorithms/strings/PangramTest.java | 15 +++++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/thealgorithms/strings/Pangram.java b/src/main/java/com/thealgorithms/strings/Pangram.java index a87f6f20b..71924e0bb 100644 --- a/src/main/java/com/thealgorithms/strings/Pangram.java +++ b/src/main/java/com/thealgorithms/strings/Pangram.java @@ -36,4 +36,23 @@ public class Pangram { } return true; } + + /** + * Checks if a String is Pangram or not by checking if each alhpabet is present or not + * + * @param s The String to check + * @return {@code true} if s is a Pangram, otherwise {@code false} + */ + public static boolean isPangram2(String s) { + if (s.length() < 26) { + return false; + } + s = s.toLowerCase(); // Converting s to Lower-Case + for (char i = 'a'; i <= 'z'; i++) { + if (s.indexOf(i) == -1) { + return false; // if any alphabet is not present, return false + } + } + return true; + } } diff --git a/src/test/java/com/thealgorithms/strings/PangramTest.java b/src/test/java/com/thealgorithms/strings/PangramTest.java index 599ed3d56..d3789d498 100644 --- a/src/test/java/com/thealgorithms/strings/PangramTest.java +++ b/src/test/java/com/thealgorithms/strings/PangramTest.java @@ -1,17 +1,20 @@ package com.thealgorithms.strings; -import static com.thealgorithms.strings.Pangram.isPangram; import static org.junit.jupiter.api.Assertions.*; - import org.junit.jupiter.api.Test; public class PangramTest { @Test public void testPangram() { - assertTrue(isPangram("The quick brown fox jumps over the lazy dog")); - assertFalse(isPangram("The quick brown fox jumps over the azy dog")); // L is missing - assertFalse(isPangram("+-1234 This string is not alphabetical")); - assertFalse(isPangram("\u0000/\\ Invalid characters are alright too")); + assertTrue(Pangram.isPangram("The quick brown fox jumps over the lazy dog")); + assertFalse(Pangram.isPangram("The quick brown fox jumps over the azy dog")); // L is missing + assertFalse(Pangram.isPangram("+-1234 This string is not alphabetical")); + assertFalse(Pangram.isPangram("\u0000/\\ Invalid characters are alright too")); + + assertTrue(Pangram.isPangram2("The quick brown fox jumps over the lazy dog")); + assertFalse(Pangram.isPangram2("The quick brown fox jumps over the azy dog")); // L is missing + assertFalse(Pangram.isPangram2("+-1234 This string is not alphabetical")); + assertFalse(Pangram.isPangram2("\u0000/\\ Invalid characters are alright too")); } }