728x90 JS20 1342. Number of Steps to Reduce a Number to Zero 문제 나머지가 0이 나올 때까지 나누기를 진행하고 나누기의 진행한 횟수를 체크 리턴하는 문제이다. 내 현재 풀이 /** * @param {number} num * @return {number} */ var numberOfSteps = function(num) { let cnt = 0 while(num > 0){ num %2 === 1 ? num-=1 : num /=2 cnt++ } return cnt; }; while문을 통해 num이 0 보다 큰 수까지 진행을 하고 홀수이면 -1 짝수이면 /2를 진행했다. 그리고 횟수 체크를 위해 cnt++를 했다. 내 예전 풀이 /** * @param {number} num * @return {number} */ var numberOfSteps = function (.. 2022. 6. 5. 1365. How Many Numbers Are Smaller Than the Current Number 문제 nums 안에 요소 하나씩 다른 요소들과 비교해서 비교 기준이 되는 인자보다 몇 개의 요소가 작은지 검사해 결괏값을 낸다. 내 현재 풀이 /** * @param {number[]} nums * @return {number[]} */ var smallerNumbersThanCurrent = function(nums) { let arr = [] let cnt = 0; for(let i of nums){ for( let j = 0; j nums[j]){ cnt++; } } arr.push(cnt) cnt = 0; } return arr }; 되게 단순하게 생각해 풀었다. 인자 하나씩 꺼내서 다음 for문을 통해 하나씩 비교한 후 배열에 담아 리턴했다. .. 2022. 6. 3. 1281. Subtract the Product and Sum of Digits of an Integer 문제 n의 요소를 하나씩 분리 후 곱한 결과와 더하기 한 결괏값을 빼기 후 그 값을 리턴하는 문제다. 내 현재 풀이 /** * @param {number} n * @return {number} */ var subtractProductAndSum = function(n) { n = n.toString(); n = n.split(''); let sum = n.reduce((a,c)=> a+Number(c),0) let product = n.reduce((a,c)=> a * Number(c),1) console.log(sum) return product - sum }; n이 처음에 int 형여서 split 함수를 사용하기 위해서 string 형으로 변환을 했다. 그다음 split를 사용해서 배열로 변환 후 r.. 2022. 6. 2. 1431. Kids With the Greatest Number of Candies 문제 문제 설명 extraCandies와 candies의 요소를 하나씩 더한 후 candies의 가장 큰 숫자보다 크거나 같으면 true가 반환이고 작으면 false 반환이다. 내 현재 풀이 /** * @param {number[]} candies * @param {number} extraCandies * @return {boolean[]} */ var kidsWithCandies = function(candies, extraCandies) { let max = Math.max(...candies) console.log('max',max) const arr = candies.map(data=> data + extraCandies >= max ? true : false) return arr }; map 함.. 2022. 5. 31. 771. Jewels and Stones 문제 문제 설명 jewls가 char가 stones에 몇 개가 있는지 구하는 문제다. 내 현재 풀이 /** * @param {string} jewels * @param {string} stones * @return {number} */ var numJewelsInStones = function(jewels, stones) { let sum = 0; let res = {} for(let i of jewels){ for(let j of stones){ if( i === j){ if(res[i]){ res[i]+=1; }else{ res[i]=1; } } } } for(let i in res){ sum+=res[i] } return sum }; 문제를 보자마자 객체 형태로 담아서 풀어야겠다고 생각을 했다. 그.. 2022. 5. 30. 1512. Number of Good Pairs 문제 문제 설명 nums 배열의 요소들이 인덱스 번호 0번부터 끝까지 검사하면서 같은 숫자가 몇 개인지 구한 다음 결과 값으로 돌려주는 거다. 내 현재 풀이 /** * @param {number[]} nums * @return {number} */ var numIdenticalPairs = function(nums) { let cnt = 0 for(let i in nums){ i = Number(i); for(let j = i+1; j < nums.length; j++){ nums[i] === nums[j] && cnt++; } } return cnt; }; for문을 두번 돌려 정답을 구했고, 중간에 Number 함수를 쓴 이유는 0번째 인덱스일 때 01로 결과가 나와서 i를 숫자로 변환해주고 넘겨주었.. 2022. 5. 28. 이전 1 2 3 4 다음 728x90