본문 바로가기

programming study

(889)
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 개미 군단 const solution = (hp) => [5, 3, 1].reduce((obj, attack) => { let {hp, ea} = obj; curEa = Math.floor(hp / attack); ea += curEa; hp -= attack * curEa; return {hp, ea}; }, {hp, ea: 0}).ea; 2. 배열 회전시키기 function solution(numbers, direction) { switch (direction) { case 'right': numbers.unshift(numbers.pop()); return numbers; case 'left': numbers...
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 외계행성의 나이 const solution = (age) => age.toString().split('').map(number =>String.fromCharCode(Number(number) + 97)).join(''); 2. 암호 해독 const solution = (cipher, code) => cipher.split('').filter((_, index) => (index + 1) %code === 0).join(''); 3. 중복된 문자 제거 const solution = (my_string) => [...new Set(my_string.split(''))].join(''); 4. k의 개수 const so..
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. n의 배수 고르기 const solution = (n, numlist) => numlist.filter(num => num % n === 0); 2. 가장 큰 수 찾기 const solution = (array) => array.reduce((arr, item, index) => { if (arr[0] order.toString().match(/[369]/g)?.length || 0; 4. 순서쌍의 개수 const solution = (n) => Array.from(new Array(n), (_, i) => i + 1).filter((num) => n %num === 0).length; 5. 주사위의 개수 const..
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 대문자와 소문자 const solution = (my_string) => { return my_string.split('').map((string) => { const ASCII = string.charCodeAt(); if (65 number * 2); 3. 숫자 찾기 const solution = (num, k) => { const index = num.toString().indexOf(k.toString()); return index !== -1 ? index + 1 : index; } 4. 가위 바위 보 function solution(rsp) { return rsp.split('').map(r => { if..
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 배열의 유사도 const solution = (s1, s2) => s1.filter(e => s2.includes(e)).length; 2. 짝수는 싫어요 const solution = (n) => Array.from({length: n + 1}, (_, i) => i).filter((number) =>number % 2 === 1); 3. 옷가게 할인 받기 const solution = (price) => { if (price >= 500000) { price *= 0.80; } else if (price >= 300000) { price *= 0.90; } else if (price >= 100000) { pri..
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 문자열 정렬하기 (2) const solution = (my_string) => { return my_string.toLowerCase().split('').sort().join(''); } 2. 피자 나눠 먹기 (1) const solution = (n) => { return Math.ceil(n / 7); } 3. 배열 원소의 길이 const solution = (strlist) => { return strlist.map((str) => str.length); } 4. 제곱수 판별하기 const solution = (n) => Number.isInteger(Math.sqrt(n))? 1 : 2; 5. 특정 문자 ..
useCallback과 클로져 그리고 의존성 배열 1. useCallback이란? useCallback은 함수를 전달받아 메모이제이션한다. 불필요한 렌더링을 방지하여 성능 최적화를 위해 사용되는 React Hook이다. 이 Hook 또한 useEffect와 마찬가지로 두번째 인자로 의존성 배열을 전달할 수 있다. 의존성 배열에 전달된 변수가 변경이 일어나면 콜백함수는 재차 메모이제이션된다. const exampleCallback = useCallback(() => exampleFunction(a), [a]); 2. 이슈 발생 최근에 지인이 진행하던 프로젝트에 합류하게 되었다. react-dnd를 활용하여 생성된 리스트를 drag & drop으로 옮길 수 있는 기능을 구현했는데, UI 자체는 이동이 되나 그 데이터가 제대로 적용이 되지 않는 이슈가 발생했..
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 머쓱이보다 키 큰 사람 const solution = (array, height) => { // 키큰 사람 수를 필터링 return array.filter(friendsHeight => friendsHeight > height).length; } 2. 짝수 홀수 개수 const solution = (num_list) => { // reduce로 짝수, 홀수 개수를 담은 배열 return return num_list.reduce((arr, num) => { if (num % 2 === 0) { arr[0] += 1; } else { arr[1] += 1; } return arr; }, [0, 0]) } 3. 배열 뒤집..