목록분류 전체보기 (294)
Muscardinus
programmers.co.kr/learn/courses/30/lessons/42861?language=javascript 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr function solution(n, costs) { let answer = 0; let isLand = {}; // 섬 정보 let bridge = {}; // 다리 정보 let total = 0; // 지어진 다리 갯수 costs.sort((a, b) => a[2] - b[2]); isLand[costs[0][0]] = true; isLand[costs[0][1]] = true; bridge[0] = true; answer += cos..
import React, { useEffect } from 'react'; import useLocalStorage from './useLocalStorage'; export default function Test() { const [name, setName] = useLocalStorage('name', ''); return ( setName(e.target.value)} /> ); } import { useState, useEffect } from 'react'; const getSavedValue = (key: string, initialValue: string) => { const savedValue = JSON.parse(localStorage.getItem(key) as string); if ..
보통 Class 형에서 함수형으로 전환되면서 혼동하는 내용 중 하나가 useState의 초기값이다. const [state, setState] = useState(초기값); 보통 우리는 위와 같이 초기값을 useState 안에 넣는다. 하지만 이러한 경우에 초기값에 복잡한 연산을 거친 값을 넣게 되면 문제가 생긴다. const [state, setState] = useState(complicatedFunction()); 위와 같이 선언될 경우, complicatedFunction이라는 함수는 매 rendering 마다 계속 호출되어서 성능적으로 문제가 생길 수 있다. 이를 보완하기 위해서 우리는 아래와 같이 작성할 수 있다. const [state, setState] = useState(() => com..
만약 tab이라는 class에 공통적으로 적용될 스타일이 있다면 ThemeProvider에 넣을 style import { createMuiTheme } from "@material-ui/core/styles"; const arcBlue = "#0b72b9"; const arcOrange = "#ffba60"; export default createMuiTheme({ palette: { common: { arcBlue: `${arcBlue}`, arcOrange: `${arcOrange}`, }, primary: { main: `${arcBlue}`, }, secondary: { main: `${arcOrange}`, }, }, typography: { tab: { fontFamily: "Raleway"..
programmers.co.kr/learn/courses/30/lessons/68646?language=javascript 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr C++ #include #include using namespace std; int solution(vector a) { int answer = 2; vector l(a.size(), 0), r(a.size(), 0); l[0] = a[0]; r[a.size() - 1] = a[a.size() - 1]; for(int i = 1; i < a.size(); i++) l[i] = min(a[i], l[i - 1]); for (int i = a.size..
programmers.co.kr/learn/courses/30/lessons/42895?language=javascript 코딩테스트 연습 - N으로 표현 programmers.co.kr 문제풀이 N의 최소 사용횟수가 8번보다 크면 -1을 반환하도록 제한되어있으므로 N을 1번 사용하는 것에서부터 8번사용하는 것까지를 순차적으로 숫자를 만들어보고, 1번부터 8번 집합에 각각 저장합니다. 그리고 number가 만들어졌는지 확인하면 됩니다. N이 5일때 5는 N을 1번 사용한 것이고, 55는 2번, 555는 3번, 5555는 4번, 55555555는 8번 사용한 것 입니다. 이를 각각의 집합에 미리 추가해줍니다. 1번 집합에 들어갈 수 있는 숫자는 5 하나 밖에 없습니다. 2번 집합에는 55외에 들어갈 수 있..
programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr function solution(m, musicinfos) { let answer = []; let obj = {}; for (let i = 0; i < musicinfos.length; i++) { let arr = musicinfos[i].split(","); let a = arr[0].split(":"); let b = arr[1].split(":"); le..
# npm install yarn install 또는 yarn # npm i --save yarn add # npm i --save-dev yarn add --dev : --dev 옵션은 -D 와 같다. # 패키지 삭제 yarn remove # dependencies와 devDependencies 모두 (package.json 에 명시된) version rule 에 따라 최신 버전으로 업그레이드. # 만약 어떤 패키지가 semantic versioning([segVer](https://github.com/semver/semver/blob/master/semver.md))를 # 따르지 않는다면, version rule이 무색해져 하위 호환성이 보장되지 않는 업그레이드일 수도 있다. yarn upgrade ..