Codewar 是一個程式解題平台,上面充滿著各種開發者出的題目,會使用這個平台的理由為:
- 可以自己寫測試驗證基本測資
- 過關後可以看到其他人的解答
- 方便導師追蹤解題成效
解題最重要的一點就是:絕對不要輕易看答案。為什麼解題能夠成長?是因為你有思考,思考過後想出來的答案才是你的,如果你放棄了然後去看別人的答案,那就始終是別人的,不會是你自己的。
想了一陣子還是想不出來的話,不用急,去洗個澡或是散個步搞不好就想通了(真心不騙)
若是認真想過還是想不出來,這時候可以先尋求一些提示,如果還是沒頭緒,這時候才能去查解答。但看完解答之後務必理解,並且重新再測驗一遍。
做完之後請自行把標題的 ❌ 換成 ✅。
以下按照題目難度分類
題目連結:https://www.codewars.com/kata/opposite-number/javascript
題目說明:正數變負數,反之亦然
題目連結:https://www.codewars.com/kata/even-or-odd/javascript
題目說明:判斷是奇數或是偶數
題目連結:https://www.codewars.com/kata/number-star-ladder/javascript
題目說明:
這題就是依照規律輸出文字,沒什麼好講的
題目連結:https://www.codewars.com/kata/who-likes-it
題目說明:模擬 Facebook 按讚時或出現的文字
題目連結:https://www.codewars.com/kata/string-repeat/javascript
題目說明:回傳重複 n 遍的字串
題目連結:https://www.codewars.com/kata/build-tower
題目說明:
也是依照規律輸出文字即可
題目連結:https://www.codewars.com/kata/reversed-strings/javascript
題目說明:
把輸入的文字反轉過後回傳,如果想挑戰自己的話,可以試試看用陣列的各種內建函式組合完成
題目連結:https://www.codewars.com/kata/reversed-words
題目說明:
這一題是進階版的字串反轉,原本的只要把每個「字元」反轉,這個則是要把每個「單字」反轉。
題目連結:https://www.codewars.com/kata/alternate-case
題目說明:把大寫字母轉成小寫,小寫字母轉成大寫
題目連結:https://www.codewars.com/kata/you-only-need-one-beginner/javascript
題目說明:回傳要找的元素是否在陣列裡面
題目連結:https://www.codewars.com/kata/find-the-capitals-1/javascript
題目說明:回傳大寫字母所在的 index
題目連結:https://www.codewars.com/kata/sum-arrays/javascript
題目說明:把陣列加總回傳結果
題目連結:https://www.codewars.com/kata/find-the-smallest-integer-in-the-array
題目說明:找出陣列中最小的數字
題目連結:https://www.codewars.com/kata/shortest-word/javascript
題目說明:回傳最短的單字的長度
題目連結:https://www.codewars.com/kata/bit-counting/javascript
題目說明:計算 bit 的總數
題目連結:https://www.codewars.com/kata/find-the-parity-outlier/javascript
題目說明:全部的數字裡,只有一個的奇偶跟其他的不一樣,你要找出這個數字
題目連結:https://www.codewars.com/kata/take-a-ten-minute-walk/javascript
題目說明:有一個人他可以往東南西北這四個方向走,請幫他計算它能否剛好在十步的時候回到原點
題目連結:https://www.codewars.com/kata/tribonacci-sequence/javascript
題目說明:費式數列的進階版
題目連結:https://www.codewars.com/kata/a-man-and-his-umbrellas/javascript
題目說明:
這題需要花多一點時間去思考。
input 會給你每天的氣象預報,基本上就是下雨跟沒下雨。如果早上下雨,那就會從家裡帶一把傘去公司,如果家裡沒傘的話需要買一把。如果晚上下雨,必須要從公司帶一把傘回家。如果公司沒傘,必須去買一支傘。
你要輸出的結果就是:總共需要買幾支傘才行。
舉例來說:["rainy", "clear", "rainy", "cloudy"]
,就是第一天早上下雨,所以要買第一把傘到公司,回家的時候沒下雨,所以把傘放在公司。而第二天早上又下雨,家裡沒傘,需要買第二把傘,因此答案是 2。
["rainy", "rainy", "rainy", "rainy", "thunderstorms", "rainy"]
的話,每一天的早上跟晚上都在下雨,所以只要買一把傘就可以從家裡到公司,再從公司帶回家裡。
題目連結:https://www.codewars.com/kata/check-if-two-words-are-isomorphic-to-each-other
題目說明:
這題比較複雜一點,如果兩個字串 A 跟 B 存在「一對一關係」,那我們就可以說這兩個字串是同構(isomorphic)的。
舉例來說,ABB 跟 CDD,A 對應到 C,B 對應到 D,存在一對一的關係,所以是同構的。