diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-07-20 12:33:42 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-20 12:33:42 +0100 |
| commit | d81b97819b40fef1af80b0d9585c9fc6b7147b5f (patch) | |
| tree | 60a1ba6f99ddc149a30d73ebc7757daf5822b85f /challenge-278/deadmarshal/java | |
| parent | 65c93aa7401141c479d8ea993c3efba9b69ef9be (diff) | |
| parent | 83c26b915df95865c54062ab5c1a04a916ac217a (diff) | |
| download | perlweeklychallenge-club-d81b97819b40fef1af80b0d9585c9fc6b7147b5f.tar.gz perlweeklychallenge-club-d81b97819b40fef1af80b0d9585c9fc6b7147b5f.tar.bz2 perlweeklychallenge-club-d81b97819b40fef1af80b0d9585c9fc6b7147b5f.zip | |
Merge pull request #10459 from deadmarshal/TWC278
TWC278
Diffstat (limited to 'challenge-278/deadmarshal/java')
| -rw-r--r-- | challenge-278/deadmarshal/java/Ch1.java | 36 | ||||
| -rw-r--r-- | challenge-278/deadmarshal/java/Ch2.java | 20 |
2 files changed, 56 insertions, 0 deletions
diff --git a/challenge-278/deadmarshal/java/Ch1.java b/challenge-278/deadmarshal/java/Ch1.java new file mode 100644 index 0000000000..9715d94bc7 --- /dev/null +++ b/challenge-278/deadmarshal/java/Ch1.java @@ -0,0 +1,36 @@ +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +public class Ch1 { + public static void main(String[] args) { + try { + System.out.println(sort_string("and2 Raku3 cousins5 Perl1 are4")); + System.out.println(sort_string("guest6 Python1 most4 the3 popular5 is2 " + + "language7")); + System.out.println(sort_string("Challenge3 The1 Weekly2")); + } catch (Exception e) { + System.err.println(e.getMessage()); + } + } + + private static String sort_string(String str) throws Exception { + Pattern pattern = Pattern.compile("(\\w+)(\\d+)"); + Map<String, Integer> m = new HashMap<>(); + for (String s : str.split(" ")) { + Matcher matcher = pattern.matcher(s); + if (matcher.find()) + m.put(matcher.group(1), Integer.parseInt(matcher.group(2))); + else + throw new Exception("Wrong format!"); + } + return m.entrySet() + .stream() + .sorted(Map.Entry.comparingByValue()) + .map(Map.Entry::getKey) + .collect(Collectors.joining(" ")); + } +} + diff --git a/challenge-278/deadmarshal/java/Ch2.java b/challenge-278/deadmarshal/java/Ch2.java new file mode 100644 index 0000000000..c8dde6453c --- /dev/null +++ b/challenge-278/deadmarshal/java/Ch2.java @@ -0,0 +1,20 @@ +import java.util.Arrays; + +public class Ch2 { + public static void main(String[] args) { + System.out.println(reverse_string("challenge", 'e')); + System.out.println(reverse_string("programming", 'a')); + System.out.println(reverse_string("champion", 'b')); + } + + private static String reverse_string(String str, char c) { + int idx = str.indexOf(c); + if (idx != -1) { + char[] arr = str.substring(0, idx + 1).toCharArray(); + Arrays.sort(arr); + return String.valueOf(arr) + str.substring(idx); + } + return str; + } +} + |
