Software Engineering

Get the Consonant Worth in Java

Get the Consonant Worth in Java
Written by admin


The problem

Given a lowercase string that has alphabetic characters solely and no areas, return the very best worth of consonant substrings. Consonants are any letters of the alphabet besides "aeiou".

We will assign the next values: a = 1, b = 2, c = 3, .... z = 26.

For instance, for the phrase “zodiacs”, let’s cross out the vowels. We get: “z o d ia cs”

-- The consonant substrings are: "z", "d" and "cs" and the values are z = 26, d = 4 and cs = 3 + 19 = 22. The best is 26.
remedy("zodiacs") = 26

For the phrase "power", remedy("power") = 57
-- The consonant substrings are: "str" and "ngth" with values "str" = 19 + 20 + 18 = 57 and "ngth" = 14 + 7 + 20 + 8 = 49. The best is 57.

The answer in Java code

Choice 1:

import java.util.stream.*;
import java.util.*;

public class ConsonantValue {
    public static int remedy(ultimate String s) {
        return  Arrays.stream(s.break up("[aeiou]+"))
                .mapToInt(t->t.chars().sum()-t.size()*96)
                .max()
                .getAsInt();
    }
}

Choice 2:

public class ConsonantValue {
    public static int remedy(ultimate String s) {
        int sum = 0, maxsum = 0;
        char[] arr = s.toCharArray();
        for (char c : arr) {
            if ("aeiou".indexOf(c)>=0) sum = 0;
            else {
                sum += c-'a'+1;
                maxsum = Math.max(sum, maxsum);
            }
        }
        return maxsum;
    }
}

Choice 3:

class ConsonantValue {
  static int remedy(String s) {
    int max = 0;
    for (var sil : s.replaceAll("[aeiou]", " ").break up(" ")) {
      int worth = sil.chars().map(c -> c - 96).sum();
      if (max < worth) max = worth;
    }
    return max;
  }
}

Check circumstances to validate our answer

import org.junit.Check;

public class SampleTest {
    @Check
    public void basicTests() {
        Tester.doTest("zodiac", 26);
        Tester.doTest("chruschtschov", 80);
        Tester.doTest("khrushchev", 38);
        Tester.doTest("power", 57);
        Tester.doTest("catchphrase", 73);
        Tester.doTest("twelfthstreet", 103);
        Tester.doTest("mischtschenkoana", 80);
    }
}

About the author

admin

Leave a Comment