본문 바로가기

전체 글74

[Softeer] 바이러스 JavaScript(Node.js) 풀이 바이러스 JavaScript(Node.js) 풀이 // 입력받기 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); // k, p, n 각각 변수로 저장 const arr = input[0].split(' ') const k = BigInt(arr[0]); const p = BigInt(arr[1]); const n = BigInt(arr[2]); // 정답으로 제출할 sum 변수 생성 let sum = k; // 반복문 돌면서 나머지 계산하기 for (let i = 0; i < n; i++) { sum = sum * p % BigInt(1000000007); } // BigInt를 사용한.. 2024. 2. 2.
[Softeer] 8단 변속기 JavaScript(Node.js) 풀이 [Softeer] 8단 변속기 JavaScript(Node.js) 풀이 해결 순서 1. 입력을 받는다. 2. 1~8 숫자의 오름차순, 내림차순 배열을 생성한다. 3. 주어진 입력값이 오름차순 배열과 동일하면 ascending 출력, 내림차순 배열과 동일하면 descending 출력, 둘 다 아니면 mixed를 출력한다. // 입력을 받기 위해 fs 불러오기 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); // 입력값 arr에 배열 형태로 저장 const arr = input[0].split(' '); // 오름차순 정렬 const sortAscend = [...arr].sort(); /.. 2024. 2. 2.
[Softeer] 금고털이 JavaScript(Node.js) 풀이 [Softeer] 금고털이 JavaScript(Node.js) 풀이 해결 순서 1. 입력을 받는다. 2. 무게당 값이 비싼 순서대로 sort 해준다. 3. sort 한 순서대로 계산 시작. 총 무게에서 계산된 무게를 빼준다. 그리고 총 무게가 0이 되면 계산을 종료한다. 이때 경우의 수를 3가지로 나누었다. // 입력을 받기 위한 fs 선언 -> 입력값은 input에 배열 형태로 저장됨 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); let totalWeight = Number(input[0].split(' ')[0]); // 입력받은 값에서 총 무게 가져오기 let sum = 0; /.. 2024. 2. 2.
[JavaScript] React에서 Pagination 라이브러리 사용해보기 React에서 Pagination 라이브러리 사용해보기 Pagination 라이브러리: item-pagination 페이지네이션을 간단하게 구현하고 싶어서 라이브러리를 만들었다🤩 item-pagination이라는 라이브러리이고, 객체 배열을 페이지로 나누어주는 함수를 제공한다. 개발 공부를 처음 시작했을 때 페이지네이션 구현을 참 어려워했던 기억이 있다. 그때의 기억을 살려 나처럼 페이지네이션을 어려워하는 누군가에게 조금이라도 도움이 되기 위해 라이브러리를 제작해보았다. NPM: https://www.npmjs.com/package/item-pagination 문서: https://item-pagination.vercel.app/ 사용 방법 1. 설치 npm, yarn, 혹은 pnpm을 이용하여 설치를 .. 2024. 1. 17.
[React] 로딩 컴포넌트를 제공하는 라이브러리 (Spinner, Skeleton 등) 로딩 컴포넌트를 제공하는 라이브러리 basic-loading 로딩 UI 컴포넌트 로딩 컴포넌트를 간단하게 사용할 수 있는 basic-loading이라는 라이브러리가 개발이 완료되어 블로그에도 소개하려 한다🤩 이 라이브러리에서 제공하는 컴포넌트는 총 8가지로, BasicDot, BounceDot, Fade, ProgressBar, Pulse, Skeleton, Spinner, Wave가 있다. React 기반으로 만들어진 라이브러리로, React와 Next.js에서 사용 가능하다. NPM: https://www.npmjs.com/package/basic-loading 문서: https://basic-loading-docs.vercel.app/ 사용법 1. 설치 npm 혹은 yarn을 이용하여 설치를 해준다.. 2024. 1. 11.
[JavaScript] CommonJS와 ESM을 모두 지원하는 React 라이브러리 개발 (Feat. 모듈이란 무엇인가) CommonJS와 ESM을 모두 지원하는 React 라이브러리 개발 모듈이란 무엇인가 프론트엔드 개발을 하다 보면 모듈(module)이라는 개념을 마주하게 된다. script 태그에 type="module"을 입력하기도 하고, React 프로젝트에서 갑자기 발생한 에러를 해결하기 위해 package.json에 module을 설정해주기도 한다. 그렇다면 모듈이 무엇일까? 프론트엔드 개발에서 모듈이란 무엇이고, 이걸 어떻게 이용할 수 있을까? 이번 글에서는 자바스크립트의 모듈 시스템인 CommonJS와 ESModule을 알아보고, 실제로 이 개념이 적용된 라이브러리를 배포해보려고 한다. 그럼 시작! 😎 1. 모듈(module)이란 무엇일까? 우선 기본으로 돌아가서, 모듈(module)이라는 개념을 알아보자... 2023. 12. 9.