プログラマ|数字の表示


問題のショートカット
かかる時間:55分
結果:正確性テストはすべて合格/効率テストはすべて失敗した
コード#コード#
function solution(n) {
  let count = 1;
  const nArray = [];
  
  for(let i = 1; i <= n; i++) {
    nArray.push(i);    
  }
  
  while(nArray.length >= n / 2) {
    const copied = [...nArray];
    copied.reduce((prev, curr, i, arr) => {
      if(prev >= n) {
        copied.splice(i + 1)
        if(prev === n) count++
      }
      return prev + curr
    }, 0)
    nArray.shift();
  }
  
  return count;
}
理由の検索
ドアなのかwhileドアなのかを考えるとshiftspread operatorが問題のようです.shiftの性能がpushpopに及ばないのは知っていますが、spread operatorとは思わなかった・・・改善してから解いてみなければなりません.
もう一つの解法
イブは耳で解いた.神奇...ケルも簡単に解けた