Code Kata#9最も一般的な数字を検索

5356 ワード

💁 もんだいぶんせき
numsは数字からなる配列です.最もよく現れる数字をk個返してください.
nums = [1,1,1,2,2,3],
k = 2
return [1,2]
nums = [1]
k = 1
return [1]
問題を見るとすぐに相手に近づこうとする.順番に近づこうとも思ったのですが、そうすると、どのくらいの数があるのか把握しづらいです.
しかし、困難はその後......
オブジェクトとして作成されていますが、オブジェクト内で要素を価値の降順に並べる方法が分からないので、気まずいです.楽しく遊んだものの、良い方法が見えず、2日連続で宰相にSOSを要請した.
👍 宰相の和弦.
function topK(nums, k) {
  // 여기에 코드를 작성해주세요.

const obj = {}
  for (num of nums) {
    if(obj[num] !== undefined){
       obj[num]++;
       } else{
         obj[num] = 1
         console.log(obj)
       }
  }
  
  const arr = Object.keys(obj).sort(
    function(a,b){return obj[b] - obj[a]})

  
  let result = arr.slice(0, k)
  return result.map(x => Number(x))
}
美しい...
sortはオブジェクトにも使えます...!その内部では,関数を呼び出すことで降順で簡潔に整理できる.
に感銘を与える
最近、WESTAGRAMの勉强を终えた时、CODE KATAに関心を持つ时间がありませんでした.だからしばらく試してみましたが、ダメならすぐに同期達に向かって走っていくので、本当に残念です.しかし、他の人のコードを見て勉強している人も多い.そのバランズを捕まえることが大切だと思います.