Skip to content
10 changes: 10 additions & 0 deletions contains-duplicate/hwanminini.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// 시간복잡도: O(n)
// 공간복잡도: O(n)

/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
return nums.length !== new Set(nums).size
};
20 changes: 20 additions & 0 deletions number-of-1-bits/hwanmini.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// 시간복잡도: O(log n)
// 공간복잡도: O(log n)

const replaceZeroToEmptyString = (str) => str.replaceAll('0','')


/**
* @param {number} n
* @return {number}
*/
var hammingWeight = function(n) {
const binaryNum = n.toString(2)
const replacedNumber = replaceZeroToEmptyString(binaryNum)
return replacedNumber.length
};


console.log(hammingWeight(11));
console.log(hammingWeight(128));
console.log(hammingWeight(2147483645));
23 changes: 23 additions & 0 deletions top-k-frequent-elements/hwanmini.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// 시간복잡도: O(n log n)
// 공간복잡도: O(n)

/**
* @param {number[]} nums
* @param {number} k
* @return {number[]}
*/
var topKFrequent = function(nums, k) {
const map = new Map()

for (let i = 0; i < nums.length; i++) {
map.set(nums[i], (map.get(nums[i]) || 0) + 1);
}

const frequencyArr = [...map]
const sortedArr = frequencyArr.toSorted((a,b) => b[1] - a[1])

return sortedArr.slice(0,k).map(([key,value]) => key);

};

console.log(topKFrequent([1,1,1,2,2,3],2))