Skip to main content

Pangrams : Challenge

Problem Statement
Roy wanted to increase his typing speed for programming contests. So, his friend advised him to type the sentence "The quick brown fox jumps over the lazy dog" repeatedly, because it is a pangram. (Pangrams are sentences constructed by using every letter of the alphabet at least once.)
After typing the sentence several times, Roy became bored with it. So he started to look for other pangrams.
Given a sentence s, tell Roy if it is a pangram or not.
Input Format Input consists of a line containing s.
Constraints 
Length of 
s can be at most 10 (1|s|103) and it may contain spaces, lower case and upper case letters. Lower case and upper case instances of a letter are considered the same.
Output Format Output a line containing pangram if s is a pangram, otherwise output not pangram.
Sample Input #1
We promptly judged antique ivory buckles for the next prize    
Sample Output #1
pangram
Sample Input #2
We promptly judged antique ivory buckles for the prize    
Sample Output #2
not pangram
Explanation 
In the first test case, the answer is 
pangram because the sentence contains all the letters of the English alphabet.


import java.util.*;

public class Solution {

                static boolean isPangram(String str){
                                boolean retV=false;
                                String alp="abcdefghijklmnopqrstuvwxyz";
                                char[] chrArray=str.toCharArray();
                                int len=chrArray.length;
                                String strW1="";
                                for(int i=0;i<len;i++){
                                                strW1=""+chrArray[i];
                                                alp=alp.replace(strW1.trim().toLowerCase(), "");
                                                if(alp.trim().isEmpty()){
                                                                retV=true;
                                                                break;
                                                }
                                }
                               
                                return retV;
                }
    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
         Scanner scan=new Scanner(System.in);
         String inpStr=scan.nextLine();//"We promptly judged antique ivory buckles for the next prize";
         //System.out.println(inpStr);
         if(isPangram(inpStr)){
                System.out.println("pangram");
        }else{
                System.out.println("not pangram");
        }
   
    }
}

Testcase0
Input (stdin)
We promptly judged antique ivory buckles for the next prize
Your Output (stdout)
pangram
Expected Output
pangram

Testcase1
Input (stdin)
We promptly judged antique ivory buckles for the prize
Your Output (stdout)
not pangram
Expected Output
not pangram


Comments

Popular posts from this blog

Java Interface

Problem Statement A Java interface can only contain method signatures and fields. Interface can be used to achieve polymorphism. In this problem you will practice your knowledge on interfaces. You are given an interface   AdvancedArithmetic   which contains a method signature   public abstract int divisorSum(int n) . You need to write a class called MyCalculator which implements the interface. divisorSum   function just takes an integer as input and return the sum of all its divisors. For example divisors of 6 are 1,2,3 and 6, so   divisorSum   should return 12. Value of n will be at most 1000. Read the partially completed code in the editor and complete it. You just need to write the MyCalculator class only.   Your class shouldn't be public. Sample Input 6 Sample Output I implemented: AdvancedArithmetic 12 Explanation Divisors of 6 are 1,2,3 and 6. 1+2+3+6=12. import java.util.*; interface AdvancedArithmetic{   p...

change directory (cd) function for an abstract file system ( Java Implementation )

Write a function that provides change directory (cd) function for an abstract file system. Notes: Root path is '/'. Path separator is '/'. Parent directory is addressable as "..". Directory names consist only of English alphabet letters (A-Z and a-z). For example, new Path("/a/b/c/d").cd("../x").getPath() should return "/a/b/c/x". Note: The evaluation environment uses '\' as the path separator. public class Path {     private String path;     public Path(String path) {         this.path = path;     }     public String getPath() {         return path;     }     public Path cd(String newPath) {         //throw new UnsupportedOperationException("Waiting to be implemented."); String[] newP=newPath.split("/");     String[] oldP=path.split("/");     int lnCount=0;     for(String str:newP){     if(st...

Calculate the number of elements of an array that are not divisors of each element.

Task description You are given a non-empty zero-indexed array A consisting of N integers. For each number A[i] such that 0 ≤ i < N, we want to count the number of elements of the array that are not the divisors of A[i]. We say that these elements are non-divisors. For example, consider integer N = 5 and array A such that: A[0] = 3 A[1] = 1 A[2] = 2 A[3] = 3 A[4] = 6 For the following elements: A[0] = 3, the non-divisors are: 2, 6, A[1] = 1, the non-divisors are: 3, 2, 3, 6, A[2] = 2, the non-divisors are: 3, 3, 6, A[3] = 3, the non-divisors are: 2, 6, A[6] = 6, there aren't any non-divisors. Write a function: class Solution { public int[] solution(int[] A); } that, given a non-empty zero-indexed array A consisting of N integers, returns a sequence of integers representing the amount of non-divisors. The sequence should be returned as: a structure Results (in C), or a vector of integers (in C++), or a record Results (in Pascal), or...