FrontEnd
[JS] 가까운 수
배열을 돌면서 가까운 수를 추출해내면 된다. 문제조건에서 가까운 수가 여러개이면 더 작은수를 return 하라고 되어있으니 해당 부분만 생각하면서 해결하면 된다. function solution(array, n) { var answer = array.reduce((acc,cur) => Math.abs(n - cur) < Math.abs(n - acc) ? cur : Math.abs(n - cur)=== Math.abs(n - acc) ? Math.min(acc,cur): acc , 1000); return answer; }
[JS] 중복된 문자 제거
filter와 indexOf를 활용하면 중복된문자를 제거할 수 있다. (Set 자료형을 사용해도 괜찮다) function solution(my_string) { var answer = [...my_string].filter((el,idx) => [...my_string].indexOf(el) === idx ).join(""); return answer; }
[React] msw로 가짜 api 만들기
개발을 하다보면 백엔드 api 개발이 덜 된 경우가 많다. 해당 경우 마치 api가 개발된 상태인 것처럼 fetch를 날려서 거기에 해당되는 가짜 api를 받아오는 방법이 있다. 먼저 msw라이브러리를 설치해준다. npm install msw --save-dev src폴더 내에 mocks 폴더를 만든 후에 worker.ts파일을 하나 생성해 주자. 파일의 내용은 아래와 같이 작성해준다. import { setupWorker } from 'msw'; import { handlers } from './handlers'; export const worker = setupWorker(...handlers); 이후 아래 명령어를 쳐주면 npx msw init public/ --save public 안에 mockS..
소인수분해
자기 수를 2부터 시작해서 나머지가 0이 안나올때까지 나누게 하는 방식으로 구현했다. 단, 2가 4번 나오더라도 1번만 들어갈 수 있도록 while문에서 나가는 조건일때 리스트에 push를 하도록 구현했다. function solution(n) { var answer = []; for (let i=2 ; i
[JS] 팩토리얼
최대 정수가 10이 나온다는 것에서 팩토리얼 10까지의 값을 미리 구해 둔 후, 이를 리스트에 담았다. 그리고 리스트를 순회하며 n보다 작다면 해당 인덱스를 활용해 n까지의 최대 팩토리얼을 구했다. const f = (n) => n === 1 ? 1 : n * f(n-1) function solution(n) { return new Array(10).fill().map((v,i) => f(i+1)).reduce((acc,cur,idx) => cur
[JS] 합성수 찾기
ㄴ문제를 보고 1~n까지의 수중에서 소수의 개수를 구한 후, 이를 빼면 어떨가란 생각을 했다. 에라토스테네스의 체 방식이 떠올라서 해당 방식으로 소수의 개수를 구한 후, 전체에서 빼 주었다. 배열을 2부터 n까지 잡기도 했고 n이 3이하면 답이 0이므로 이를 예외처리해주었다. function solution(n) { if (n i+2) let cnt = 0 while (lst.length > 0) { const tmp = lst.shift(); cnt ++; lst = lst.filter((el) => el%tmp !==0 ) } console.log(cnt) return n- cnt -1; }