본문 바로가기

분류 전체보기222

[Javascript] addEventListener에서 event 넘기는 방법 (콜백펑션이 함수 선언식일 때) 알고 보면 굉장히 간단한 문제인데, 한참을 헤매었습니다. 콜백펑션에서 event는 어떻게? commentForm.addEventListener('submit', addComment); function addComment(e) { e.preventDefault(); ... ... } 위와 같이 콜백 펑션에 함수 선언식 형태로 넣어주고 싶은데, 아시다시피 콜백펑션에서 괄호를 넣어주면 안됩니다. ❌❌❌ commentForm.addEventListener('submit', addComment(e)); ❌❌❌ 그렇다고 애로우 펑션을 활용해서 익명함수 형태로 넣으면 함수 재사용이 불가능해 코드가 더러워지게 됩니다.이럴땐 어떻게 해야할까요??? 이럴 땐 애로우 펑션으로 익명함수를 만들어 주되, 미리 선언한 함수 선언.. 2022. 7. 28.
[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] Type 복습하기 MDN 자료 Javascript Data Types 기본 자료형 (Primitive) (불변 자료형) String Number Boolean Undefined Null Symbol (ES6에서 추가 객체 아래는 공부하며 잘 몰랐던 내용입니다. Typeof Null Typeof Null 하면 결과값으로 "object"가 나온다. 이는 null이 빈 객체를 참조하고 있기 떄문이다. Typeof Array 또한 "object"이다. 자바스크립트에선 객체를 이용해 배열을 흉내낸 Array객체를 구현한 것이 Array이기 때문이다. 포이마웹 - 자바스크립트 배열은 배열이 아니다 2022. 7. 20.