diff --git a/.all-contributorsrc b/.all-contributorsrc
index 86d86a78..4342ac5d 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -318,6 +318,17 @@
"doc",
"code"
]
+ },
+ {
+ "login": "d-l-mcbride",
+ "name": "d-l-mcbride",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/46550732?v=4",
+ "profile": "https://github.com/d-l-mcbride",
+ "contributions": [
+ "doc",
+ "code"
+ ]
}
- ]
+ ],
+ "commitConvention": "none"
}
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 5b193e77..39699d08 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -5,13 +5,56 @@
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
-
-| [
MADHAV BAHL](http://madhavbahl.tech/)
[💻](https://github.com/CodeToExpress/dailycodebase/commits?author=MadhavBahlMD "Code") [📝](#blog-MadhavBahlMD "Blogposts") [📖](https://github.com/CodeToExpress/dailycodebase/commits?author=MadhavBahlMD "Documentation") [🎨](#design-MadhavBahlMD "Design") [✅](#tutorial-MadhavBahlMD "Tutorials") | [
Rajdeep Roy Chowdhury](http://www.linkedin.com/in/razdeeproychowdhury)
[💻](https://github.com/CodeToExpress/dailycodebase/commits?author=Razdeep "Code") [📖](https://github.com/CodeToExpress/dailycodebase/commits?author=Razdeep "Documentation") [✅](#tutorial-Razdeep "Tutorials") | [
Hrishi](https://hrishi1999.github.io)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=Hrishi1999 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=Hrishi1999 "Code") | [
Bhanu Ailani](https://github.com/Bhanu0202)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=Bhanu0202 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=Bhanu0202 "Code") | [
Deepak Sharma](https://sourcerer.io/dsdsharma)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=dsdsharma "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=dsdsharma "Code") | [
Ramanpreet Singh](https://github.com/Ramanpreet6262)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=Ramanpreet6262 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=Ramanpreet6262 "Code") | [
Anil Khatri](https://imkaka.github.io/)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=imkaka "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=imkaka "Code") |
-| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
-| [
Ashwek Swamy](https://github.com/ashwek)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=ashwek "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=ashwek "Code") | [
Dhruv Gupta](https://github.com/dhruv-gupta14)
[💻](https://github.com/CodeToExpress/dailycodebase/commits?author=dhruv-gupta14 "Code") | [
Aadit Kamat](https://sg.linkedin.com/in/aadit-kamat-12a5a8140)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=aaditkamat "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=aaditkamat "Code") | [
Shashank jain](http://www.myshashank.tech)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=Shashankjain12 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=Shashankjain12 "Code") | [
Moulik Aggarwal](https://github.com/moulikcipherX)
[💬](#question-moulikcipherX "Answering Questions") [📝](#blog-moulikcipherX "Blogposts") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=moulikcipherX "Code") [📖](https://github.com/CodeToExpress/dailycodebase/commits?author=moulikcipherX "Documentation") | [
Prateek Surana](http://prateeksurana.me)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=prateek3255 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=prateek3255 "Code") | [
shivank86](https://github.com/shivank86)
[💻](https://github.com/CodeToExpress/dailycodebase/commits?author=shivank86 "Code") |
-| [
Vishal Shirke](https://github.com/vishalshirke7)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=vishalshirke7 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=vishalshirke7 "Code") | [
profgrammer](https://github.com/profgrammer)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=profgrammer "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=profgrammer "Code") | [
divyakhetan](https://github.com/divyakhetan)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=divyakhetan "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=divyakhetan "Code") | [
Spreeha Dutta](https://github.com/Spreeha)
[💻](https://github.com/CodeToExpress/dailycodebase/commits?author=Spreeha "Code") [📖](https://github.com/CodeToExpress/dailycodebase/commits?author=Spreeha "Documentation") | [
Chaitanya Bhojwani](https://github.com/chaitanya-bhojwani)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=chaitanya-bhojwani "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=chaitanya-bhojwani "Code") | [
Manaswini Das](https://www.linkedin.com/in/manaswini-das/)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=manaswinidas "Documentation") | [
Anirudh Jwala](https://www.linkedin.com/in/anirudh-jwala-533859135/)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=anirudh-jwala "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=anirudh-jwala "Code") |
-| [
Willian Taiguara Baliza Moura](https://github.com/willianwt)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=willianwt "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=willianwt "Code") | [
Rajashree Parhi](https://github.com/rajashree23)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=rajashree23 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=rajashree23 "Code") | [
Akshit Aggarwal](https://github.com/AkshitAggarwal)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=AkshitAggarwal "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=AkshitAggarwal "Code") | [
Abhishek](https://github.com/dasabhishek0790)
[💻](https://github.com/CodeToExpress/dailycodebase/commits?author=dasabhishek0790 "Code") | [
SAGUN JAISWAL](https://github.com/sagunjaiswal)
[💻](https://github.com/CodeToExpress/dailycodebase/commits?author=sagunjaiswal "Code") | [
Abhishek Anantharam](https://github.com/abhishek0405)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=abhishek0405 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=abhishek0405 "Code") | [
Prabhat Malhotra](https://github.com/malhotra1432)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=malhotra1432 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=malhotra1432 "Code") |
-| [
Hrishikesh K Thakkar](https://github.com/Hrishikesh-Thakkar)
[💻](https://github.com/CodeToExpress/dailycodebase/commits?author=Hrishikesh-Thakkar "Code") | [
GAURAV KUMAR](https://github.com/gaurav01k3)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=gaurav01k3 "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=gaurav01k3 "Code") | [
wboccard](https://github.com/wboccard)
[📖](https://github.com/CodeToExpress/dailycodebase/commits?author=wboccard "Documentation") [💻](https://github.com/CodeToExpress/dailycodebase/commits?author=wboccard "Code") |
+
+
+
+
+
+
+
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind are welcome!
diff --git a/Day1/Kotlin/FizzBuzz.kts b/Day1/Kotlin/FizzBuzz.kts
new file mode 100644
index 00000000..9d534b99
--- /dev/null
+++ b/Day1/Kotlin/FizzBuzz.kts
@@ -0,0 +1,21 @@
+/**
+ * @author: d-l-mcbride
+ * @date: 10/11/2020
+ **/
+
+fun fizzBuzz (fizzList: List) {
+
+ var output: String
+
+ fizzList.forEach {
+ output = when {
+ it % 15 == 0 -> "FizzBuzz"
+ it % 5 == 0 -> "Buzz"
+ it % 3 == 0 -> "Fizz"
+ else -> "${it}"
+ }
+ println(output)
+ }
+}
+
+fizzBuzz((1..15).toList())
diff --git a/Day1/README.md b/Day1/README.md
index 7ebb734b..7ddf0e28 100644
--- a/Day1/README.md
+++ b/Day1/README.md
@@ -595,6 +595,36 @@ int main()
}
```
+## Kotlin Implementation
+
+### [FizzBuzz.kts](./Kotlin/FizzBuzz.kts)
+
+##### To run this script `kotlinc -script FizzBuzz.kts`
+ _*Prereq: Kotlin must be installed._
+```
+/**
+ * @author: d-l-mcbride
+ * @date: 10/11/2020
+ **/
+
+fun fizzBuzz (fizzList: List) {
+
+ var output: String
+
+ fizzList.forEach {
+ output = when {
+ it % 15 == 0 -> "FizzBuzz"
+ it % 5 == 0 -> "Buzz"
+ it % 3 == 0 -> "Fizz"
+ else -> "${it}"
+ }
+ println(output)
+ }
+}
+
+fizzBuzz((1..15).toList())
+```
+
### Have Another solution?
The beauty of programming lies in the fact that there is never a single solution to any problem.
diff --git a/Day2/Kotlin/ReverseAndPalinedrome.kts b/Day2/Kotlin/ReverseAndPalinedrome.kts
new file mode 100644
index 00000000..cc542d6c
--- /dev/null
+++ b/Day2/Kotlin/ReverseAndPalinedrome.kts
@@ -0,0 +1,34 @@
+/**
+ * @author: d-l-mcbride
+ * @date: 10/11/2020
+ **/
+
+fun reverse(subject:String):String {
+ var reversed = StringBuilder()
+
+ for( j in (subject.length -1) downTo 0){
+ reversed.append(subject[j])
+ }
+ return reversed.toString()
+}
+
+
+fun palindrome(subject:String){
+ val reversed = reverse(subject)
+ if (reversed == subject) println("${subject} is a palindrome") else println("${subject} is not a palindrome")
+}
+
+val hello = "Hello"
+val goodbye = "Goodbye"
+val single = "S"
+
+println("Reverse String Tests")
+println("${hello} reversed is ${reverse(hello)}")
+println("${goodbye} reversed is ${reverse(goodbye)}")
+println ("${single} reversed is ${reverse(single)}")
+
+println("\n\nPalindrome Tests")
+palindrome("I")
+palindrome("otto")
+palindrome("tacocat")
+palindrome("dog")
diff --git a/Day2/README.md b/Day2/README.md
index c0743faf..e065cd0f 100644
--- a/Day2/README.md
+++ b/Day2/README.md
@@ -981,6 +981,49 @@ public class StringReverseAndPalin {
}
```
+## Kotlin Implementation
+
+### [ReverseAndPalindrome.kts](./Kotlin/ReverseAndPalindrome.kts)
+
+##### To run this script `kotlinc -script ReverseAndPalindrome.kts`
+ _*Prereq: Kotlin must be installed._
+```
+/**
+ * @author: d-l-mcbride
+ * @date: 10/11/2020
+ **/
+
+fun reverse(subject:String):String {
+ var reversed = StringBuilder()
+
+ for( j in (subject.length -1) downTo 0){
+ reversed.append(subject[j])
+ }
+ return reversed.toString()
+}
+
+
+fun palindrome(subject:String){
+ val reversed = reverse(subject)
+ if (reversed == subject) println("${subject} is a palindrome") else println("${subject} is not a palindrome")
+}
+
+val hello = "Hello"
+val goodbye = "Goodbye"
+val single = "S"
+
+println("Reverse String Tests")
+println("${hello} reversed is ${reverse(hello)}")
+println("${goodbye} reversed is ${reverse(goodbye)}")
+println ("${single} reversed is ${reverse(single)}")
+
+println("\n\nPalindrome Tests")
+palindrome("I")
+palindrome("otto")
+palindrome("tacocat")
+palindrome("dog")
+```
+
### Have Another solution?
The beauty of programming lies in the fact that there is never a single solution to any problem.
diff --git a/Day3/Kotlin/HammingDistance.kts b/Day3/Kotlin/HammingDistance.kts
new file mode 100644
index 00000000..e3051432
--- /dev/null
+++ b/Day3/Kotlin/HammingDistance.kts
@@ -0,0 +1,32 @@
+/**
+ * @author: d-l-mcbride
+ * @date: 10/12/2020
+ **/
+
+fun hammingDistance(first: String, second: String ):Int {
+ if (first.length != second.length) return -1
+
+ var distance = 0
+ for(i in first.indices) {
+ if (first[i] != second[i]) distance++
+ }
+ return distance
+}
+
+val DOG = "dog"
+val LOG = "log"
+val LARRY = "larry"
+val LASSI ="lassi"
+val EMPTY = ""
+val ALSO_EMPTY = ""
+val ABCDE = "abcde"
+val BADEC = "badec"
+val DIFF_ONE ="ab"
+val DIFF_TWO ="abcd"
+
+println("Hamming Distance of ${DOG} and ${LOG} = ${hammingDistance(DOG,LOG)}")
+println("Hamming Distance of ${LOG} and ${LOG} = ${hammingDistance(LOG,LOG)}")
+println("Hamming Distance of ${LARRY} and ${LASSI} = ${hammingDistance(LARRY,LASSI)}")
+println("Hamming Distance of ${ABCDE} and ${BADEC} = ${hammingDistance(ABCDE,BADEC)}")
+println("Hamming Distance of two empty strings = ${hammingDistance(EMPTY,ALSO_EMPTY)}")
+println("Hamming Distance of different length strings = ${hammingDistance(DIFF_ONE,DIFF_TWO)}")
diff --git a/Day3/README.md b/Day3/README.md
index dfcc3a21..8dc0e1a3 100644
--- a/Day3/README.md
+++ b/Day3/README.md
@@ -402,6 +402,8 @@ print("list of unmatched characters are:",k)
print("number of characters not matching are:",len(k))
```
+
+```
/* @date 4/09/2020
* @author Shashwat Gupta (shashwatxdevelop)
*/
@@ -434,7 +436,50 @@ public class HammingDistance {
}
}
+```
+
+## Kotlin Implementation
+### [HammingDistance.kts](./Kotlin/HammingDistance.kts)
+
+##### To run this script `kotlinc -script HammingDistance.kts`
+ _*Prereq: Kotlin must be installed._
+
+```
+/**
+ * @author: d-l-mcbride
+ * @date: 10/12/2020
+ **/
+
+fun hammingDistance(first: String, second: String ):Int {
+ if (first.length != second.length) return -1
+
+ var distance = 0
+ for(i in first.indices) {
+ if (first[i] != second[i]) distance++
+ }
+ return distance
+}
+
+val DOG = "dog"
+val LOG = "log"
+val LARRY = "larry"
+val LASSI ="lassi"
+val EMPTY = ""
+val ALSO_EMPTY = ""
+val ABCDE = "abcde"
+val BADEC = "badec"
+val DIFF_ONE ="ab"
+val DIFF_TWO ="abcd"
+
+
+println("Hamming Distance of ${DOG} and ${LOG} = ${hammingDistance(DOG,LOG)}")
+println("Hamming Distance of ${LOG} and ${LOG} = ${hammingDistance(LOG,LOG)}")
+println("Hamming Distance of ${LARRY} and ${LASSI} = ${hammingDistance(LARRY,LASSI)}")
+println("Hamming Distance of ${ABCDE} and ${BADEC} = ${hammingDistance(ABCDE,BADEC)}")
+println("Hamming Distance of two empty strings = ${hammingDistance(EMPTY,ALSO_EMPTY)}")
+println("Hamming Distance of different length strings = ${hammingDistance(DIFF_ONE,DIFF_TWO)}")
+```
## Why Hamming Distance?
diff --git a/day4/Kotlin/NumVowelsAndMaxChars.kts b/day4/Kotlin/NumVowelsAndMaxChars.kts
new file mode 100644
index 00000000..58e4d08b
--- /dev/null
+++ b/day4/Kotlin/NumVowelsAndMaxChars.kts
@@ -0,0 +1,50 @@
+/**
+ * @author: d-l-mcbride
+ * @date: 10/11/2020
+ **/
+
+fun numberOfVowels(subject: String):Int{
+ val vowels = hashSetOf('a','e','i','o','u')
+ var count = 0
+ subject.forEach {
+ when(it.toLowerCase()) {
+ in vowels -> count++
+ }
+ }
+ return count
+}
+
+fun maxChars(subject: String):Char {
+ var maxChar = subject[0]
+ var maxCount = 0
+ var count:Int
+ for(i in 0 until subject.length -1) {
+ count = 0
+ for(j in i+1 until subject.length) {
+ if (subject[i] == subject[j]) count++
+ }
+ if( count > maxCount) {
+ maxCount = count
+ maxChar = subject[i]
+ }
+ }
+ return maxChar
+}
+
+
+
+val TWO_VOWELS = "hello"
+val TWO_VOWELS_WITH_CAPS = "HELLO"
+val NO_VOWELS = "qrzmtlnz"
+println("${TWO_VOWELS} contains ${numberOfVowels(TWO_VOWELS)} vowels.")
+println("${TWO_VOWELS_WITH_CAPS} contains ${numberOfVowels(TWO_VOWELS_WITH_CAPS)} vowels.")
+println("${NO_VOWELS} contains ${numberOfVowels(NO_VOWELS)} vowels.")
+
+val THREE_MID = "helllo"
+val ONE_EACH = "abcd"
+val FOUR_END = "byeeee"
+val FOUR_BEG = "yyyyes"
+println("The letter with the most occurences in ${THREE_MID} is ${maxChars(THREE_MID)}")
+println("The letter with the most occurences in ${ONE_EACH} is ${maxChars(ONE_EACH)}")
+println("The letter with the most occurences in ${FOUR_END} is ${maxChars(FOUR_END)}")
+println("The letter with the most occurences in ${FOUR_BEG} is ${maxChars(FOUR_BEG)}")
diff --git a/day4/README.md b/day4/README.md
index e9c5f930..dd577e03 100644
--- a/day4/README.md
+++ b/day4/README.md
@@ -887,10 +887,69 @@ print "Enter a string: "
str = gets
str.chomp!
puts "The most frequent character in #{str} is : #{most_frequent_character(str)}"
+```
+## Kotlin Implementation
+
+### [NumVowelsAndMaxChars.kts](./Kotlin/NumVowelsAndMaxChars.kts)
+
+##### To run this script `kotlinc -script NumVowelsAndMaxChars.kts`
+
+```
+/**
+ * @author: d-l-mcbride
+ * @date: 10/11/2020
+ **/
+
+fun numberOfVowels(subject: String):Int{
+ val vowels = hashSetOf('a','e','i','o','u')
+ var count = 0
+ subject.forEach {
+ when(it.toLowerCase()) {
+ in vowels -> count++
+ }
+ }
+ return count
+}
+
+fun maxChars(subject: String):Char {
+ var maxChar = subject[0]
+ var maxCount = 0
+ var count:Int
+ for(i in 0 until subject.length -1) {
+ count = 0
+ for(j in i+1 until subject.length) {
+ if (subject[i] == subject[j]) count++
+ }
+ if( count > maxCount) {
+ maxCount = count
+ maxChar = subject[i]
+ }
+ }
+ return maxChar
+}
+
+
+
+val TWO_VOWELS = "hello"
+val TWO_VOWELS_WITH_CAPS = "HELLO"
+val NO_VOWELS = "qrzmtlnz"
+println("${TWO_VOWELS} contains ${numberOfVowels(TWO_VOWELS)} vowels.")
+println("${TWO_VOWELS_WITH_CAPS} contains ${numberOfVowels(TWO_VOWELS_WITH_CAPS)} vowels.")
+println("${NO_VOWELS} contains ${numberOfVowels(NO_VOWELS)} vowels.")
+
+val THREE_MID = "helllo"
+val ONE_EACH = "abcd"
+val FOUR_END = "byeeee"
+val FOUR_BEG = "yyyyes"
+println("The letter with the most occurences in ${THREE_MID} is ${maxChars(THREE_MID)}")
+println("The letter with the most occurences in ${ONE_EACH} is ${maxChars(ONE_EACH)}")
+println("The letter with the most occurences in ${FOUR_END} is ${maxChars(FOUR_END)}")
+println("The letter with the most occurences in ${FOUR_BEG} is ${maxChars(FOUR_BEG)}")
+
```
### Have Another solution?
The beauty of programming lies in the fact that there is never a single solution to any problem.
-In case you have an alternative way to solve this problem, do contribute to this repository (https://github.com/CodeToExpress/dailycodebase) :)
\ No newline at end of file
+In case you have an alternative way to solve this problem, do contribute to this repository (https://github.com/CodeToExpress/dailycodebase) :)