(1) 내 풀이 function solution(participant, completion) { const hash ={} participant.forEach(name =>{ if(!hash[name]) hash[name] = 0; hash[name] ++ }) completion.forEach(name =>{ hash[name]-- }) for(const key in hash){ if(hash[key] !== 0 ){ return key } } } 1. Hash 객체 생성 2. 참가자를 Hash 객체에 넣는데, value는 없으면 0 있으면 +1 3. 완주자를 Hash 객체의 value -1 4. 카운트가 0이 아닌 사람 = 완주 못한 선수의 이름 (2) 다른사람 풀이-1 function solutio..
(1) 내 풀이 function solution(nums) { let cnt = nums.length / 2 let newNumCnt = [...new Set(nums)].length return cnt N/2마리 가져가기 가능 (* 다양한 종류로 가져가고 싶음) 1. cnt = 선택할 수 있는 폰켓몬 수 (고정=== max값임) 총 배열의 길이 / 2 ➡️ 배열.length /2 2. 최대한 다양한 종류의 폰켓몬 선택 => 중복제거 배열 중복 제거 + 길이 ➡️ set 사용하기 (newNumCnt) 3. cnt < newNumCnt 이면 cnt 리턴 아니면 newNumCnt 리턴 끝.
1. classnames https://www.npmjs.com/package/classnames classnames A simple utility for conditionally joining classNames together. Latest version: 2.5.1, last published: 3 months ago. Start using classnames in your project by running `npm i classnames`. There are 42641 other projects in the npm registry using classnames. www.npmjs.com yarn add classnames import cx from "classnames"; const comment..
Day.js · 2kB JavaScript date utility library 2kB JavaScript date utility library day.js.org 1. All time : dayjs가 엄청 밑에 있다가 모멘트쪽까지 치고 올라옴 2. Day.js > from now 사용 npm install dayjs # or yarn add dayjs # or pnpm add dayjs Day.js · 2kB JavaScript date utility library 2kB JavaScript date utility library day.js.org ✅ fromNow를 사용하기 위해서는 플러인 방식이여서 relativeTime 임포트해서 사용하기 //Post.tsx import relativeTime f..
✅구현 (1) 리덕스 툴킷 상태관리 (2) 다크모드 구현시, HTML최상위 요소에 'dark'클래스 추가 (요소에 추가) document.documentElement.classList.add('dark'); (3) Tailwindcss로 다크모드 적용 (1) 리덕스 툴킷 //redux > module > darkModeSlice.tsx import { createSlice } from '@reduxjs/toolkit'; const darkModeSlice = createSlice({ name: 'darkMode', initialState: false, reducers: { toggleDarkMode(state) { return (state = !state); }, }, }); export const { ..
✅useSelectedLayoutSegment 정리본 #03 Next App Router : useSelectedLayoutSegment (현재 위치한 path 찾기) 1️⃣ 클라이언트 컴포넌트 훅인 useSelectedLayoutSegment() 사용해서 현재 위치한 path 가져오기 가능 2️⃣ Active Link를 적용하여 해당 위치 강조 가능 : 다른 페이지로 이동이 가능한 사이드바 (Link)를 zerotonine2da.tistory.com 💡위치 문제 1. layout에서 import한 컴포넌트에서 사용하기 2. page에서는 무조건 null export default function NavMenu() { const segment = useSelectedLayoutSegment(); cons..