728x90 javascript8 Leetcode 135 - Candy (Javascript) 1-pass 방식으로 풀기 https://leetcode.com/problems/candy/description/ 문제 난이도는 hard지만 기본 풀이법은 그다지 어렵지 않은 문제라고 생각햇다... 초기 풀이법(2-pass)1. 캔디 배열 1로 초기화 -> 무조건 1개는 받아야함2. 오른쪽으로 이동하면서 1차순회3. 다시 왼쪽으로 이동하면서 캔디 개수를 업데이트/** * @param {number[]} ratings * @return {number} */var candy = function(ratings) { let candies = Array(ratings.length).fill(1) for(let i = 0; i 0; i--) { if(ratings[i] a+b, 0)}; 근데 loop를 2번을 한다는.. 2025. 4. 22. 스크롤 이벤트 최적화 하기 : 쓰로틀링(Throttling), Intersection Observer 구동방식 스크롤 이벤트 개선해보자!!거의 3년전에 만든 사이트라 문제점이 아주 많다! 현재 문제는 스크롤이 이동할때마다 함수를 호출하고 있어 호출이 수백, 수천번이 일어난다단지 세번 스크롤을 내린것 뿐인데…지금이야 간단한 로직으로 스크롤이벤트를 구성하고 있으니 괜찮았지만조금이라도 계산하는 로직을 넣는 순간 굉장히 버벅거릴 것그럼 어떻게 최적화를 하느냐 대표적인 이벤트 최적화 방식인 쓰로틀링(Throttling)과 디바운싱(Debouncing)현재는 스크롤이벤트를 처리하고 있으므로이벤트가 끝나고 실행되는 디바운싱보다는 일정 간격으로 호출을 제한하는 쓰로틀링이 더 적합하다 쓰로틀링 구현은 매우쉽다!lodash를 사용하지 않는다면 간단한 프로젝트에서는 자바스크립트로 구현하는 것을 추천lodash가 은근 사이즈가 크다 .. 2025. 2. 13. Javascript - nullish coalescing operator( 널 병합 연산자 ) ?? : null 또는 undefined를 평가 하고 싶을 때 사용 || : falsy 값을 평가하고 싶을 때 사용 const foo = null ?? 'default string'; console.log(foo); // Expected output: "default string" // null값이므로 오른쪽 표현식을 리턴함 const baz = 0 ?? 42; console.log(baz); // Expected output: 0 // 0은 falsy값으로 null 이나 undefined와 다르기때문에 42가 출력되지않음 const height = 0; let div_height = height || 10; console.log(div_height) // output: 10 // 0은 falsy 값이기.. 2023. 1. 22. Javascript - Truthy & Falsy 자바스크립트는 타입이 굉장히 느슨한 언어이다. 그렇기 때문에 모든 값은 true , false로 형변환이 될 수 있는 값을 확인 할 수 있다 이것은 truty, falsy 값이라고 말한다. 빈 객체나 빈 배열을 종종 falsy값이라고 착각하는 경우가 있다. 빈 문자열은 falsy지만 빈 객체, 빈배열은 truthy 값이므로 주의하자 Truthy 값 true: Boolean 타입의 true {} : 빈객체 [] : 빈 배열 0과 -0을 제외한 숫자 (42, 3.14, -3.14...) 문자열("false") Infinity: 무한값 Date 객체 Truthy 값이 아닌 모든 값은 Falsy 값이다. Falsy 값 false: Boolean 타입의 false null undefined 0, -0, 0n : .. 2023. 1. 20. 다음 큰 숫자 - javascript https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다음 큰 수를 찾는 문제로써 1을 하나씩 더한 후 이진법으로 변환해서 1의 갯수를 비교하는 문제 그대로의 방식대로 알고리즘을 짜서 풀었다. 무한루프를 돌려서 해당 조건문이 맞으면 탈출하는 방법으로 구현하였다. function solution(n) { var answer = 0; const binary = n.toString(2) const sortedOne = binary.split('').fil.. 2022. 9. 25. 프로그래머스 최솟값 만들기 - javascript https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2단계치고 정말 쉬웠던 문제 첫번째 배열을 작은 순으로 정렬하고 두번째 배열을 큰 순으로 정렬하면 최소합이 나온다는 간단한 알고리즘 자바스크립트의 내장 함수인 sort를 사용하여 풀면 쉽게 정렬이 가능하다. sort()만 쓰면 유니코드 순으로 정렬이 되기때문에 1,10,2.. 이와 같은 정렬이 이루어진다. 숫자를 정렬하기 위해서는 하단 코드처럼 작성해야한다. function solution(A,B.. 2022. 9. 24. 이전 1 2 다음 728x90 반응형