diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-01-23 23:22:39 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-23 23:22:39 +0000 |
| commit | 03b70bd180d940e1115b0454dc493fa0351dd127 (patch) | |
| tree | 22a2f0af57293493ff0c789ad1cdd6d51f1d246e | |
| parent | 31e694901c87a9de7930a9c43424e29615252d55 (diff) | |
| parent | 7229fc8fb3c5908cf115125542394a607081b54e (diff) | |
| download | perlweeklychallenge-club-03b70bd180d940e1115b0454dc493fa0351dd127.tar.gz perlweeklychallenge-club-03b70bd180d940e1115b0454dc493fa0351dd127.tar.bz2 perlweeklychallenge-club-03b70bd180d940e1115b0454dc493fa0351dd127.zip | |
Merge pull request #3344 from ziameraj16/ziameraj16-challenge-096_2
Added Kotlin solution
| -rw-r--r-- | challenge-096/ziameraj16/README.md | 65 | ||||
| -rw-r--r-- | challenge-096/ziameraj16/kotlin/EditDistanceKotlin.kt | 27 | ||||
| -rw-r--r-- | challenge-096/ziameraj16/kotlin/META-INF/main.kotlin_module | bin | 0 -> 24 bytes | |||
| -rw-r--r-- | challenge-096/ziameraj16/kotlin/ReverseWordsKotlin.kt | 18 |
4 files changed, 91 insertions, 19 deletions
diff --git a/challenge-096/ziameraj16/README.md b/challenge-096/ziameraj16/README.md index f3015ecf17..edc34dba03 100644 --- a/challenge-096/ziameraj16/README.md +++ b/challenge-096/ziameraj16/README.md @@ -1,36 +1,63 @@ -# Java solution by Mohammad Meraj Zia -# Palindrome Number +# Java solution +## Reverse Words To compile the code run ```java -javac PalindromeNumber.java +javac ReverseWords.java ``` To run ```java -java PalindromeNumber +java ReverseWords ``` -## Example +### Example ```bash -/perlweeklychallenge-club/challenge-095/ziameraj16/java$ javac PalindromeNumber.java -/perlweeklychallenge-club/challenge-095/ziameraj16/java$ java PalindromeNumber -Enter the number to check if it is a palindrome -1234554321 -1 +/perlweeklychallenge-club/challenge-096/ziameraj16/java$ javac ReverseWords.java +/perlweeklychallenge-club/challenge-096/ziameraj16/java$ java ReverseWords +Enter the string + Perl and Raku are part of the same family +Reversed string is: family same the of part are Raku and Perl +/perlweeklychallenge-club/challenge-096/ziameraj16/java$ ``` -# Demo Stack +## Edit Distance To compile the code run ```java -javac DemoStack.java +javac EditDistance.java ``` To run ```java -java DemoStack +java EditDistance ``` -## Example +### Example ```bash -To push into stack - `push <number>` -To pop from the stack - `pop` -To find the top element - `top` -To find the minimum element - `min` -To exit - `exit` +/perlweeklychallenge-club/challenge-096/ziameraj16/java$ vi EditDistance.java +/perlweeklychallenge-club/challenge-096/ziameraj16/java$ javac EditDistance.java +/perlweeklychallenge-club/challenge-096/ziameraj16/java$ java EditDistance +Enter first word +kitten +Enter second word +sitting +Output: 3 ``` + +# Kotlin Solution +## Reverse Words +```bash +/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ kotlinc ReverseWordsKotlin.kt +/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ kotlin ReverseWordsKotlin +Enter the string + Perl and Raku are part of the same family +Reversed string is: family same the of part are Raku and Perl +/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ +``` +## Edit Distance +```bash +/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ kotlinc EditDistanceKotlin.kt +/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ kotlin EditDistanceKotlin +Enter first word +sunday +Enter second word +monday +Output: 2 +/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ +``` + diff --git a/challenge-096/ziameraj16/kotlin/EditDistanceKotlin.kt b/challenge-096/ziameraj16/kotlin/EditDistanceKotlin.kt new file mode 100644 index 0000000000..8e195eea40 --- /dev/null +++ b/challenge-096/ziameraj16/kotlin/EditDistanceKotlin.kt @@ -0,0 +1,27 @@ +import java.util.* + +object EditDistanceKotlin { + @JvmStatic + fun main(args: Array<String>) { + val scanner = Scanner(System.`in`) + println("Enter first word") + val s1 = scanner.next() + println("Enter second word") + val s2 = scanner.next() + println("Output: " + editDistance(s1, s2)) + } + + private fun editDistance(s1: String, s2: String): Int { + var len = s1.length + if (s2.length < s1.length) { + len = s2.length + } + var count = 0 + for (i in 0 until len) { + if (s1[i] != s2[i]) { + count++ + } + } + return count + Math.abs(s1.length - s2.length) + } +} diff --git a/challenge-096/ziameraj16/kotlin/META-INF/main.kotlin_module b/challenge-096/ziameraj16/kotlin/META-INF/main.kotlin_module Binary files differnew file mode 100644 index 0000000000..609d952938 --- /dev/null +++ b/challenge-096/ziameraj16/kotlin/META-INF/main.kotlin_module diff --git a/challenge-096/ziameraj16/kotlin/ReverseWordsKotlin.kt b/challenge-096/ziameraj16/kotlin/ReverseWordsKotlin.kt new file mode 100644 index 0000000000..169b3a42d5 --- /dev/null +++ b/challenge-096/ziameraj16/kotlin/ReverseWordsKotlin.kt @@ -0,0 +1,18 @@ +import java.util.* + +object ReverseWordsKotlin { + @JvmStatic + fun main(args: Array<String>) { + val scanner = Scanner(System.`in`) + println("Enter the string") + val str = scanner.nextLine() + println("Reversed string is: " + reverseWords(str)) + } + + fun reverseWords(str: String): String { + val strWithSingleSpace = str.trim { it <= ' ' }.replace(" +".toRegex(), " ").split(" ".toRegex()).toTypedArray() + val list = Arrays.asList(*strWithSingleSpace) + Collections.reverse(list) + return java.lang.String.join(" ", list) + } +} |
