• Skip to primary navigation
  • Skip to main content

桓桓鄉寇

如果一開始沒有高牆,就沒有所謂的侵略了嗎?

  • 首頁
  • WordPress 筆記
  • 主機
  • 前端
  • 意見回饋
You are here: 首頁 / 前端 / Codewars 練習 01

Codewars 練習 01

2020-11-04 by Eric Chuang Leave a Comment

內容目錄

  • 題目
  • 我的解法
  • 投票評選最好的解法
    • 改善點

題目

加總比 number 小的數字中,3 或 5 的倍數。譬如 solution(10) 當中,3 和 5 的倍數有 3、5、6、9,總和是 23。可以參考練習連結。

我的解法

function solution(number){
  let arr = [];
  for( var i = 0; i < number; i++ ){
    if( i % 5 === 0 || i % 3 === 0 ){
      arr.push(i);
    }
  }
  return arr.reduce( function(a,b){
    return a+b;
  }, 0);
}

投票評選最好的解法

function solution(number){
  var sum = 0;
  
  for(var i = 1;i < number; i++){
    if(i % 3 == 0 || i % 5 == 0){
      sum += i
    }
  }
  return sum;
}

改善點

在最好的作法中,直接針對 sum 的值進行運算,減少建立陣列後,再加總陣列的過程。

所屬分類: 前端 標籤: Codewars

關於 Eric Chuang

正職是廣告行銷人員,因為 Google Tag Manager 的關係開始踏入網站製作的領域,進一步把 WordPress 當成 PHP + HTML + CSS + JavaScript 的學習教材。此外,因為工作的關係,曾經用 Automattic 的 Underscores (_s) 替客戶與公司官網進行全客製化佈景主題開發。

讀者互動

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料。

Copyright © 2021 · Genesis Sample on Genesis Framework · WordPress