diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-05-13 08:09:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-13 08:09:36 +0100 |
| commit | e3a0bfbe150f42b7f1be28ad681e411a7fce7565 (patch) | |
| tree | f2f58a571cbca66a7812d0372bce538d09acd9ff | |
| parent | 4592f7f4061ea47ed85836373277b82a31ac39c1 (diff) | |
| parent | ad32e6bb5b410103dff5ef2bf8fcda046ba0a84b (diff) | |
| download | perlweeklychallenge-club-e3a0bfbe150f42b7f1be28ad681e411a7fce7565.tar.gz perlweeklychallenge-club-e3a0bfbe150f42b7f1be28ad681e411a7fce7565.tar.bz2 perlweeklychallenge-club-e3a0bfbe150f42b7f1be28ad681e411a7fce7565.zip | |
Merge pull request #4075 from ziameraj16/ziameraj16-challenge-112
Java solution for Canonical Path
| -rw-r--r-- | challenge-112/ziameraj16/README.md | 47 | ||||
| -rw-r--r-- | challenge-112/ziameraj16/java/CanonicalPath.java | 23 | ||||
| -rw-r--r-- | challenge-112/ziameraj16/java/ClimbStairs.java | 18 |
3 files changed, 67 insertions, 21 deletions
diff --git a/challenge-112/ziameraj16/README.md b/challenge-112/ziameraj16/README.md index 188de1153e..522cc9b303 100644 --- a/challenge-112/ziameraj16/README.md +++ b/challenge-112/ziameraj16/README.md @@ -1,44 +1,49 @@ -# Valid Phone Numbers +# Canonical Path ## Java Solution To compile the code run ```java -javac ValidPhoneNumbers.java +javac CanonicalPath.java ``` To run ```java -java ValidPhoneNumbers +java CanonicalPath ``` ### Example ```bash -/perlweeklychallenge-club/challenge-110/ziameraj16/java$ javac ValidPhoneNumbers.java -/perlweeklychallenge-club/challenge-110/ziameraj16/java$ java ValidPhoneNumbers -Enter full file path -/Users/ziameraj16/a.txt -0044 1148820341 - +44 1148820341 -(44) 1148820341 +/perlweeklychallenge-club/challenge-112/ziameraj16/java$ java CanonicalPath +Enter a string +/a/ +/a +/perlweeklychallenge-club/challenge-112/ziameraj16/java$ java CanonicalPath +Enter a string +/a/b//c/ +/a/b/c +/perlweeklychallenge-club/challenge-112/ziameraj16/java$ java CanonicalPath +Enter a string +/a/b/c/../.. +/a ``` -# Transpose File +# Climb Stairs ## Java Solution To compile the code run ```java -javac TransposeFile.java +javac ClimbStairs.java ``` To run ```java -java TransposeFile +java ClimbStairs ``` ### Example ```bash -/perlweeklychallenge-club/challenge-110/ziameraj16/java$ javac TransposeFile.java -/perlweeklychallenge-club/challenge-110/ziameraj16/java$ java TransposeFile -Enter full file path -/Users/ziameraj16/a.txt -name,Mohammad,Joe,Julie,Cristina -age,45,20,35,10 -sex,m,m,f,f +/perlweeklychallenge-club/challenge-112/ziameraj16/java$ java ClimbStairs +Enter total number of stairs +3 +3 +/perlweeklychallenge-club/challenge-112/ziameraj16/java$ java ClimbStairs +Enter total number of stairs +4 +5 ``` - diff --git a/challenge-112/ziameraj16/java/CanonicalPath.java b/challenge-112/ziameraj16/java/CanonicalPath.java new file mode 100644 index 0000000000..d299c1908a --- /dev/null +++ b/challenge-112/ziameraj16/java/CanonicalPath.java @@ -0,0 +1,23 @@ +import java.util.Scanner; + +public class CanonicalPath { + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("Enter a string"); + String input = scanner.next(); + System.out.println(getCanonicalPath(input)); + } + + public static String getCanonicalPath(String input) { + input = input.replaceAll("//", "/"); + if ('/' == (input.charAt(input.length() - 1))) { + input = input.substring(0, input.length() - 1); + } + while (input.contains("/..")) { + int index = input.indexOf("/.."); + input = input.replace("/" + input.charAt(index - 1) + "/..", ""); + } + return input; + } +} diff --git a/challenge-112/ziameraj16/java/ClimbStairs.java b/challenge-112/ziameraj16/java/ClimbStairs.java new file mode 100644 index 0000000000..68d2c4327e --- /dev/null +++ b/challenge-112/ziameraj16/java/ClimbStairs.java @@ -0,0 +1,18 @@ +import java.util.Scanner; + +public class ClimbStairs { + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("Enter total number of stairs"); + int stepsToClimb = scanner.nextInt(); + System.out.println("Output: " + numberOfWays(stepsToClimb + 1)); + } + + public static int numberOfWays(int n) { + if (n <= 1) { + return n; + } + return numberOfWays(n -1) + numberOfWays(n - 2); + } +} |
