Kata Practice - Simple Multiplication (JavaScript)

Kata Practice - Simple Multiplication (JavaScript)

這個系列會把自己練習過的 Kata 題目記錄下來,希望除了記錄的性質以外也能夠觀察自己撰寫程式邏輯的進化過程。如果有幸看到這邊的話也可以參考一下,再到 Codewars 的網站註冊一個帳號試著玩看看,自己蠻喜歡整個網站的得分和排行榜設定,會讓人越寫越有成就感喔!

這個系列會把自己練習過的 Kata 題目記錄下來,希望除了記錄的性質以外也能夠觀察自己撰寫程式邏輯的進化過程。如果有幸看到這邊的話也可以參考一下,再到 Codewars 的網站註冊一個帳號試著玩看看,自己蠻喜歡整個網站的得分和排行榜設定,會讓人越寫越有成就感喔!

題目

This kata is about multiplying a given number by eight if it is an even number and by nine otherwise.

自己的解法

1
2
3
4
5
6
function simpleMultiplication(number) {
if(number % 2 === 0){
return number*8
}
return number*9
}

解題脈絡

很直觀的直接用基本的運算子做處理,如果能被 2 整除就是雙數;反之,就是奇數了。

其他人的解法

1
2
3
function simpleMultiplication(n) {
return n * (n % 2 ? 9 : 8);
}

選擇記錄這個解法的原因

直接使用三元條件運算子來判斷 number 要乘以的數字是哪個?真的是 Clever 到不行又簡潔易懂!

觀念釐清

我發現寫 Kata 到現在之後,在點擊 submit 的按鈕的時候會有一種很興奮的感覺,因為你不知道等下會看到什麼神奇或是你從來沒有想過的解法!
像今天這個我就覺得不僅邏輯有呈現出來,而且又很乾淨利落。
希望自己也能慢慢用這種思維來解題~

那我們就下次見ʘ‿ʘ

評論