Showing posts with label java. Show all posts
Showing posts with label java. Show all posts
Java String Reverse - Hacker Rank Solution

Java String Reverse - Hacker Rank Solution

 

Java String Reverse


Given a string A, print Yes if it is a palindrome, print No otherwise.

 

Constraints

 

 A will consist of most  50 lower cases English letters.

Sample Input

 

madam

Sample Output

 

Yes


Solution:

import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        String b = "";
        Scanner sc=new Scanner(System.in);
        String A=sc.next();
        /* Enter your code here. Print output to STDOUT. */

        int n = A.length();
        for(int i = n - 1; i >= 0; i--)
        {
            b = b + A.charAt(i);
        }
        if(A.equalsIgnoreCase(b))
        {
            System.out.println("Yes");
        }
        else
        {
            System.out.println("No");
        }
        
        
    }
}




Lexicographical Order - Hacker Rank Solution

Lexicographical Order - Hacker Rank Solution

 

Java hackerRank solution

We define the following terms:

 

Lexicographical Order, also known as alphabetic or dictionary order, orders characters as follows:

A<B<Z....Y<Z<A<B....<Y<Z.

For example, ball < cat, dog < dorm, Happy < happy, Zoo < ball.

 

A substring of a string is a contiguous block of characters in the string. For example, the substrings of abc are a, b, c, ab, bc, and ABC.

Given a string,s, and an integer,k, complete the function so that it finds the lexicographically smallest and largest substrings of length k.

 

Input Format

 

The first line contains a string denoting s.

The second line contains an integer denoting s.

 

Constraints

1<=|s|<=1000

 S consists of English alphabetic letters only (i.e., [a-zA-Z]).

Output Format

 

Return the respective lexicographically smallest and largest substrings as a single newline-separated string.

 

Sample Input 0

 

welcometojava

3

Sample Output 0

 

ava

wel


Solution:

import java.util.Scanner;

public class Solution {

    public static String getSmallestAndLargest(String sint k) {
        String currStr = s.substring(0, k);
        String smallest = currStr;
        String largest = currStr;

   
        
        // Complete the function
        // 'smallest' must be the lexicographically smallest substring of length 'k'
        // 'largest' must be the lexicographically largest substring of length 'k'
        
        for (int i = k; i < s.length(); i++) { 
            currStr = currStr.substring(1, k) + s.charAt(i); 
            if (largest.compareTo(currStr) < 0)      
                 largest = currStr; 
            if (smallest.compareTo(currStr) > 0
                 smallest = currStr;             
        } 
  
        // Print result. 
         
        return smallest + "\n" + largest;
    }


Java Substring - Hacker Rank Solution

Java Substring - Hacker Rank Solution

Java hackerRank solution

 

Given a string,s , and two indices, start, and end, print a substring consisting of all characters in the inclusive range from start to end - 1. You'll find the String class' substring method helpful in completing this challenge.

 

Input Format

 

The first line contains a single string denoting s.

The second line contains two space-separated integers denoting the respective values of start  and end.



Solution:

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 in = new Scanner(System.in);
        String S = in.next();
        int start = in.nextInt();
        int end = in.nextInt();
        System.out.println(S.subSequence(start, end));
        
    }
}
Java Strings Introduction- Hacker Rank Solution

Java Strings Introduction- Hacker Rank Solution

Java hackerRank solution

 

This exercise is to test your understanding of Java Strings. A sample String declaration:

 

String myString = "Hello World!"

The elements of a String are called characters. The number of characters in a String is called the length, and it can be retrieved with the String.length() method.

 

Given two strings of lowercase English letters,A  and B, perform the following operations:

 

Sum the lengths of  A and B.

Determine if A is lexicographically larger than B  (i.e.: does  come before  in the dictionary?).

Capitalize the first letter in A  and B and print them on a single line, separated by a space.

Input Format

 

The first line contains a string A . The second line contains another string B . The strings are comprised of only lowercase English letters.

 

Output Format

 

There are three lines of output:

For the first line, sum the lengths of  A and B .

For the second line, write Yes if A is lexicographically greater than B otherwise print No instead.

For the third line, capitalize the first letter in both A  and B and print them on a single line, separated by a space.

 

Sample Input 0

 

hello

java

Sample Output 0

 

9

No

Hello Java


Solution:

import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        String A=sc.next();
        String B=sc.next();
        /* Enter your code here. Print output to STDOUT. */
        
        int a = A.length();
        int b = A.length();
        System.out.println(A.length()+B.length());
System.out.println(A.compareTo(B)>0?"Yes":"No");
System.out.println(A.substring(01).toUpperCase()+A.substring(1A.length())+" "+B.substring(01).toUpperCase()+B.substring(1B.length()));
    }

}



import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        String A=sc.next();
        String B=sc.next();
        /* Enter your code here. Print output to STDOUT. */
        
        int a = A.length();
        int b = A.length();
        System.out.println(A.length()+B.length());
System.out.println(A.compareTo(B)>0?"Yes":"No");
System.out.println(A.substring(01).toUpperCase()+A.substring(1A.length())+" "+B.substring(01).toUpperCase()+B.substring(1B.length()));
    }

}





 Java Currency Formatter HackerRank Solutions

Java Currency Formatter HackerRank Solutions


 Java Currency Formatter

Java Currency Formatter

Given a double-precision number, payment, denoting an amount of money, use the NumberFormat class' getCurrencyInstance method to convert payment  into the US, Indian, Chinese, and French currency formats. Then print the formatted values as follows:

 

US: formattedPayment

India: formattedPayment

China: formattedPayment

France: formattedPayment

Where formattedPayment  is payment  formatted according to the appropriate Locale's currency.

 

Note: India does not have a built-in Locale, so you must construct one where the language is en (i.e., English).

 

Input Format

 

A single double-precision number denoting payment.

 

Constraints

0<=payment<=10^9

Output Format

 

On the first line, print US: u where u is payment  formatted for US currency.

On the second line, print India: i where i  is payment  formatted for Indian currency.

On the third line, print China: c where c  is payment formatted for Chinese currency.

On the fourth line, print France: f, where f is payment formatted for French currency.

 

Sample Input

 

12324.134

Sample Output

 

US: $12,324.13

India: Rs.12,324.13

China: 12,324.13

France: 12 324,13 €

Explanation

 

Each line contains the value of payment  formatted according to the four countries' respective currencies.


Solutions:

import java.util.Scanner;
import java.text.NumberFormat;
import java.util.Locale;

public class Solution {
    
    public static void main(String[] args) {
        /* Read input */
        Scanner scanner = new Scanner(System.in);
        double payment = scanner.nextDouble();
        scanner.close();

        /* Create custom Locale for India. 
          I used the "IANA Language Subtag Registry" to find India's country code */
        Locale indiaLocale = new Locale("en""IN");

        /* Create NumberFormats using Locales */
        NumberFormat us     = NumberFormat.getCurrencyInstance(Locale.US);
        NumberFormat india  = NumberFormat.getCurrencyInstance(indiaLocale);
        NumberFormat china  = NumberFormat.getCurrencyInstance(Locale.CHINA);
        NumberFormat france = NumberFormat.getCurrencyInstance(Locale.FRANCE);

        /* Print output */        
        System.out.println("US: "     + us.format(payment));
        System.out.println("India: "  + india.format(payment));
        System.out.println("China: "  + china.format(payment));
        System.out.println("France: " + france.format(payment));
    }
}