본문 바로가기
반응형

LeetCode20

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.
1672. Richest Customer Wealth 문제 문제설명 2차원 배열 문제이다. 배열 안에 배열이 있는데, 배열안에 있는 수을 더해서 가장 큰 수를 리턴하는 문제이다. 나의 현재 풀이 /** * @param {number[][]} accounts * @return {number} */ var maximumWealth = function(accounts) { let arr = []; for(let i of accounts){ arr.push(i.reduce((a,c)=> a+c)) } return Math.max(...arr) }; 수를 더한 결과를 담는 arr 배열을 생성하고, for문을 통해 인자를 하나씩 꺼낸 다음 reduce 함수를 이용해서 다 더한 다음에 push를 통해 배열에 담았다. 그리고 리턴은 max 함수를 이용해 리턴했다. 나의 .. 2022. 5. 26.
2011. Final Value of Variable After Performing Operations 오늘도 활기차게 복기해보자 문제 설명 X에 +가 있으면 + 1 이고 -가 있으면 -1 이다. 최종적으로 계산을 다하면 결과 값을 구하는 문제다. 현재 풀이 /** * @param {string[]} operations * @return {number} */ var finalValueAfterOperations = function(operations) { let cnt = 0; for(let i of operations){ i.indexOf('+') > -1 ? cnt++ : cnt--; } return cnt }; indexOf를 활용해서 '+'가 있으면 무조건 -1 보다 큰 숫자가 나오기때문에 cnt++ 해주었고, -1이나오면 -이기에 cnt--를 해주었다. 예전 풀이 /** * @param {stri.. 2022. 5. 25.
1480. Running Sum of 1d Array 3번째로 풀이 했던 문제다 ㅋㅋ 문제 설명 nums 인자들은 차례 차례 하나씩 플러스 하면서, 플러스 한 결과 한 값을 결과 배열에 하나씩 담아주면 된다. 어떻게 보면 피보나치 수열과 거의 동일하다고 생각이 된다. 기억이 희미하지만, 문제푸는 데 이때는 거의 40분씩 걸렸으니까 쉽지 않게 풀었을 것 같다. 내 예전 풀이 /** * @param {number[]} nums * @return {number[]} */ var runningSum = function(nums) { let sum = 0; let res = []; for(let i = 0; i < nums.length; i++){ sum += nums[i]; res[i] = sum; } return res; }; 결과 값을 위한 sum 변수 선언,.. 2022. 5. 17.
반응형