본문 바로가기

Coding Test96

[Javascript] (LeetCode) 242. Valid Anagram (Easy) [Javascript] (LeetCode) 242. Valid Anagram (Easy) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * @param {string} s * @param {string} t * @return {boolean} */ var isAnagram = function(s, t) { const mapS = new Map(); const mapT = new Map(); for (let i = 0; i < s.length; i++) { mapS.set(s[i], (mapS.get(s[i]) || 0) + 1); } for (let i = 0; i < t.length; i++) { mapT.set(t[i], (mapT.get(t[i].. 2022. 7. 28.
[Javascript] (LeetCode) 387. First Unique Character in a String (Easy) [Javascript] (LeetCode) 387. First Unique Character in a String (Easy) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * @param {string} s * @return {number} */ var firstUniqChar = function(s) { let map = new Map(); for (let i = 0; i < s.length; i++) { map.set(s[i], (map.get(s[i]) || 0) + 1); } let answerChar = &#39;&#39;; for (let [k, v] of map) { if (v === 1) { answerChar = k; break; }.. 2022. 7. 26.
[Javascript] (LeetCode) 7. Reverse Integer (Medium) [Javascript] (LeetCode) 7. Reverse Integer (Medium) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * @param {number} x * @return {number} */ var reverse = function(x) { let result = 0; if (x < 0) { result = parseInt(0 - Math.abs(x).toString().split(&#39;&#39;).reverse().join(&#39;&#39;)); } else { result = parseInt(x.toString().split(&#39;&#39;).reverse().join(&#39;&#39;)); } Math.abs(r.. 2022. 7. 25.
[Javascript] (LeetCode)136. Single Number (Easy) [Javascript] (LeetCode) 136. Single Number (Easy) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * @param {number[]} nums * @return {number} */ var singleNumber = function(nums) { return nums.filter((x, i) => nums.indexOf(nums[i]) === nums.lastIndexOf(nums[i]))[0]; }; 다른 사람 풀이 function singleNumber(nums) { return nums.reduce((prev, curr) => prev ^ curr); } xor을 사용하면 같은지 다른지 알수 있다. reduc.. 2022. 7. 25.
[Javascript] (LeetCode) 217. Contains Duplicate (Easy) [Javascript] (LeetCode) 217. Contains Duplicate (Easy) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * @param {number[]} nums * @return {boolean} */ var containsDuplicate = function(nums) { return nums.filter((x, i) => nums.indexOf(x) !== i).length > 0; }; indexOf는 결국 앞에서부터 하나씩 비교하니까 O(n)일거고, 그걸 모든 원소에 적용하면 O(n**2)일듯 ㅠ 다른 사람 풀이 var containsDuplicate = function(nums) { return new Set(nu.. 2022. 7. 24.
[Javascript] (LeetCode)122. Best Time to Buy and Sell Stock II (Medium) [Javascript] (LeetCode) 122. Best Time to Buy and Sell Stock II (Medium) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * @param {number[]} prices * @return {number} */ var maxProfit = function(prices) { // diff함수에 다 담아서 // +값 다 더하기 const diffs = []; for (let i = 0; i 0 ? diffs.push(diff) : null; } return diffs.red.. 2022. 7. 22.
[Javascript] (LeetCode)121. Best time to buy and sell stock (Easy) [Javascript] (LeetCode) 121. Best time to buy and sell stock (Easy) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * @param {number[]} prices * @return {number} */ var maxProfit = function(prices) { // 비교해서 전날 보다 싼 날이 있는지 확인 // for돌리면서 -되면 팔기, // 그냥 배열에 오늘과 다음날의 비교값을 다 담아서 +인지 아닌지 여부 확인해서 + 이면 팔고 -이면 안팔고 이런식으로 해야될것 같은데 ? const maxNums = []; let maxNum = Number.MIN_VALUE; let j = 1; let .. 2022. 7. 21.
[Javascript] (LeetCode) 26. Remove Duplicates from Sorted Array (Easy) [Javascript] (LeetCode) 26. Remove Duplicates from Sorted Array (Easy) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * @param {number[]} nums * @return {number} */ var removeDuplicates = function(nums) { const result = []; let preValue; let k = 0; for (let i = 0; i < nums.length; i++) { if (preValue !== nums[i]) { nums[k] = nums[i]; k++; preValue = nums[i]; } } return k; }; 배운 점, 느낀 점 .. 2022. 7. 20.
[Javascript] (LeetCode) 19. Remove Nth Node From End of List (Medium) [Javascript] 19. Remove Nth Node From End of List (LeetCode - Medium) 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } */ /** * @param {ListNode} head * @param {number} n * @return {ListNode} */ var removeNthFromEnd = function(he.. 2022. 7. 14.
[Javascript] LeetCode 876. Middle of the Linked List [Javascript] LeetCode 876. Middle of the Linked List 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } */ /** * @param {ListNode} head * @return {ListNode} */ var middleNode = function(head) { let node1 = head; let node2 = head; w.. 2022. 7. 14.