aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-01-23 23:22:39 +0000
committerGitHub <noreply@github.com>2021-01-23 23:22:39 +0000
commit03b70bd180d940e1115b0454dc493fa0351dd127 (patch)
tree22a2f0af57293493ff0c789ad1cdd6d51f1d246e
parent31e694901c87a9de7930a9c43424e29615252d55 (diff)
parent7229fc8fb3c5908cf115125542394a607081b54e (diff)
downloadperlweeklychallenge-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.md65
-rw-r--r--challenge-096/ziameraj16/kotlin/EditDistanceKotlin.kt27
-rw-r--r--challenge-096/ziameraj16/kotlin/META-INF/main.kotlin_modulebin0 -> 24 bytes
-rw-r--r--challenge-096/ziameraj16/kotlin/ReverseWordsKotlin.kt18
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
new file mode 100644
index 0000000000..609d952938
--- /dev/null
+++ b/challenge-096/ziameraj16/kotlin/META-INF/main.kotlin_module
Binary files differ
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)
+ }
+}