紀錄 CodeWars 的刷題過程、解答、衍伸想法。
不定期更新唷~。
8kyu
Square(n) Sum
日期:20221002
題目:
1 | Complete the square sum function so that it squares each number passed into it and then sums the results together. |
答案:
1 | squareSum = (array) => { |
Even or Odd
日期:20221002
題目:
1 | Create a function that takes an integer as an argument and returns "Even" for even numbers or "Odd" for odd numbers. |
答案:
1 | even_or_odd = number => number % 2 ? "Odd" : "Even"; |
Basic Mathematical Operations
日期:20221004
題目:
1 | 寫一個函式,讓以下三個參數可以輸出計算後的值。 |
答案:
1 | let basicOp = (operation, value1, value2) => { |
Keep Hydrated!
日期:20221004
題目:
1 | Because Nathan knows it is important to stay hydrated, he drinks 0.5 litres of water per hour of cycling. |
- 這個出題挺讓人誤會的,
rounded to the smallest value
一開始以為是四捨五入,不過關。測試過後,使用Math.floor()
或Math.trunc()
皆可通關。
答案:
1 | let litres = time => Math.floor(time * 0.5); |
Logic Drills Traffic light
日期:20221005
題目:
1 | 寫一個 function 可以傳入目前的燈號 green yellow red |
答案:
1 | //if else 簡單解法 |
解析:
- indexOf 會回傳該陣列值的 index,若沒有值則回傳 -1。
- 紅綠燈是依序變化,所以先找出下一個值的 index: states.indexOf(current) + 1。
- 因為 red 下一個 index 為 3,因此要除以整個陣列的長度後的餘數才會得到第一個 index 0: % (states.length)。
Is he gonna survive?
日期:20221005
題目:
1 | 兩顆子可擊敗一條龍,英雄可否存活?true or false |
答案:
1 | let hero = (bullets, dragons) => bullets/2 >= dragons ? true : false; |
Remove String Spaces
日期:20221006
題目:
1 | Simple, remove the spaces from the string, then return the resultant string. |
答案:
1 | // 1 |
Convert boolean values to strings ‘Yes’ or ‘No’.
日期:20221006
題目:
1 | Complete the method that takes a boolean value and return a "Yes" string for true, or a "No" string for false. |
答案:
1 | let boolToWord = bool => bool == true ? 'Yes' : 'No'; |
The Feast of Many Beasts
日期:20221008
題目:
1 | 每隻動物參加盛宴都要帶一道菜來 |
翻譯人:六角社群hannahTW#2224
答案:
1 | let feast = (beast, dish) => { |
解說:array[array.length - 1]
可以取 Array 最後一個 index 的值。
Reversed Strings
日期:20221011
題目:
1 | 反轉字串,EX: |
答案:
1 | let solution = str => str.split('').reverse().join(''); |
網路搜尋最常見的解法,也簡單易懂,值得注意的是split()
和join()
的括弧內要添增字串符號''
,不然會切分與增加失敗。
String cleaning
日期:20221011
題目:
1 | 刪減字串中的數字,空格與特殊符號要保留。 |
答案:
1 | let stringClean = s => s.replace(/\d*/g, ''); |
直覺想到用replace()
,這題是考正規表達式吧XD。
另外分享一篇正規表達式的代碼說明與整理很清楚的文章:正規表示式簡介 | QWERTY