๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
[Algorithm-JS] ํ๋ก๊ทธ๋๋จธ์ค ์ฝํ Lv2 - ์์(hashMap)
โ๏ธ ๋ฌธ์ ๋งํฌhttps://school.programmers.co.kr/learn/courses/30/lessons/42578?language=javascript ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krโ๏ธ ๋ฌธ์ ์์ฝ[์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ง 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์กด์ฌํ๋ฉฐ, ์ฝ๋๋ ํ๋ฃจ์ ์ต์ ํ๊ฐ์ง์ ์ท์ ์ ์ด์ผ ํ๋ค. ๋จ, ๊ฐ์ ์ข ๋ฅ์ ์ท์ ์ฌ๋ฌ๋ฒ ์ ์ ์ ์๋ค. ์ฝ๋๊ฐ ์ ์ ์ ์๋ ์ท์ ์กฐํฉ์ ์๋ฅผ ๋ฐํํด๋ผ.๐ด ์ ํ์ฌํญclothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.์ฝ๋๊ฐ ๊ฐ์ง ์์์ ์๋ 1๊ฐ ์ด์ ..
[Algorithm-JS] ํ๋ก๊ทธ๋๋จธ์ค ์ฝํ Lv2 - ์ ํ๋ฒํธ ๋ชฉ๋ก(some, indexOf, startsWith)
โ๏ธ ๋ฌธ์ ๋งํฌhttps://school.programmers.co.kr/learn/courses/30/lessons/42577?language=javascript ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krโ๏ธ ๋ฌธ์ ์์ฝ์ ํ๋ฒํธ๊ฐ ๋์ด๋ ๋ฐฐ์ด phone_book์ด ์๊ณ , ํน์ ์ ํ๋ฒํธ๊ฐ ๋ค๋ฅธ ์ ํ๋ฒํธ์ ์ ๋์ด์ ์์นํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๋ฉด false๋ฅผ ๋ฐํ, ์๋ค๋ฉด true๋ฅผ ๋ฐํ๐ด ์ ํ์ฌํญphone_book์ ๊ธธ์ด๋ 1 ์ด์ 1,000,000 ์ดํ์ด๋ค.๊ฐ ์ ํ๋ฒํธ์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ด๋ค.๊ฐ์ ์ ํ๋ฒํธ๊ฐ ์ค๋ณตํด์ ๋ค์ด์์ง ์๋ค.๐ฉ ์ ๊ทผ๋ฒํด์ ๋ฌธ์ ๋ผ๊ณ ..
[Algorithm-JS] ํ๋ก๊ทธ๋๋จธ์ค ์ฝํ Lv1 - ์์ฃผํ์ง ๋ชปํ ์ ์(hashMap)
โ๏ธ ๋ฌธ์ ๋งํฌhttps://school.programmers.co.kr/learn/courses/30/lessons/42576 ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krโ๏ธ ๋ฌธ์ ์์ฝn๋ช ์ ์ ์๊ฐ ๋ง๋ผํค์ ๋ฐ๊ณ n-1๋ช ์ ์ ์๊ฐ ์์ฃผ๋ฅผ ํ๋ค. ์์ฃผ๋ฅผ ํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ ๋ฐํํ์ฌ๋ผ.์ ๋ ฅ : ์ ์๋ค์ ์ด๋ฆ์ด ๋ฌธ์์ด๋ก ๋ค์ด๊ฐ ๋ฐฐ์ด participant, ์์ฃผํ ์ ์์ ์ด๋ฆ์ด ๋ค์ด๊ฐ ๋ฐฐ์ด์ธ completion๐ด ์ ํ์ฌํญ1๋ช ์ด์ 100,000๋ช ์ดํ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช ์ด์ธ์ด ์์ ์ ์๋ค.๐ฉ ์ ๊ทผ๋ฒ1. ์๊ฐ ์ ํ์ด ์์๊ธฐ ๋๋ฌธ์ 10๋ง๋ช ์ participa..
[JavaScript] ์คํ ์ปจํ ์คํธ(execution context)
๋ค์ด๊ฐ๊ธฐ ์ ์คํ ์ปจํ ์คํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋์ ์๋ฆฌ๋ฅผ ๋ด๊ณ ์๋ ํต์ฌ ์๋ฆฌ์ด๋ค.๋ฐ๋ผ์ ์คํ์ปจํ ์คํธ๋ ์๋ ๊ฐ๋ ๋ค์ ๋์์๋ฆฌ๋ฅผ ๋ด๊ณ ์๋ค.- ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ค์ฝํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ณ์์ ์๋ณ์์ ๋ฐ์ธ๋ฉ๋ ๊ฐ์ ๊ด๋ฆฌํ๋ ๋ฐฉ์- ํธ์ด์คํ ์ด ๋ฐ์ํ๋ ์ด์ - ํด๋ก์ ์ ๋์ ๋ฐฉ์- ํ์คํ ํ์ ํจ๊ป ๋์ํ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ๋์ ๋ฐฉ์์คํ ์ปจํ ์คํธ๋?์คํ ์ปจํ ์คํธ๋ ์์ค์ฝ๋๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ํ๊ฒฝ ์ ๋ณด๋ฅผ ๋ชจ์๋์ ๊ฐ์ฒด์ด๋ค. ์ฆ, ์คํ ์ปจํ ์คํธ๋ ๋ณ์, ํจ์, ํด๋์ค ๋ฑ์ ์ด๋ฆ์ธ ์๋ณ์๋ฅผ ๋ฑ๋กํ๊ณ ๊ด๋ฆฌํ๋ ์ค์ฝํ๋ผ๋ ํ๊ฒฝ ์ ๋ณด๋ฅผ ๊ตฌ์ฑํ๊ณ , ์ปจํ ์คํธ๋ฅผ ์ฝ ์คํ์ ์์์ฌ๋ ค ๊ฐ์ฅ ์์ ์๋ ์ปจํ ์คํธ๋ฅผ ์คํํ์ฌ ์ฝ๋์ ์คํ์์๋ฅผ ๋ณด์ฅํ๋ค.์คํ ์ปจํ ์คํธ๊ฐ ์์ฑ๋๋ ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ฒ์ ์คํํ ๋..
Express.js CORS ์ค๋ฅ ํด๊ฒฐ
๐๐ป ํด๊ฒฐ๋ฒ์ ๋งจ์๋์ํ์คํ๊ตฌํ์ค, ํ๋ก ํธ์์๋ axios ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฑ์๋์ API ์ฐ๋์ ์งํํ๋ ค๊ณ ํ์๋ค. ์ฝ๋์ ์ ์ง๋ณด์์ ์ฌ์ฌ์ฉ์ฑ์ ์ํด http ํด๋ผ์ด์ธํธ๋ฅผ ๋ฐ๋ก ๊ตฌ์ฑํ๋ ์ฝ๋๋ฅผ ๋ง๋ค์๊ณ , exportํ์ฌ axios๋ฅผ ๋ ๋ณด๊ธฐ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํ์๋ค. // http.tsimport axios, { AxiosRequestConfig } from "axios";const BASE_URL = "http://localhost:3000";const DEFAULT_TIMEOUT = 30000;export const createClient = (config?: AxiosRequestConfig) => { const axiosInstance = axios.create({ baseU..
vscode snippet ๋ง๋ค๊ธฐ
console.log๋ก ๋ก๊ทธ๋ฅผ ์ฐ๋๋ค๊ฑฐ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๋ ํจ์ํ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ๋์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๋๋ผ๋์ง ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง๋ค์ด์ผํ๋ ๋ผ๋๋ฅผ ์์ฑํ๋ ๋ถ๋ถ์ ์ด์ ๋ ์์ ํ ์ตํ์ ธ์ snippet์ ์ฌ์ฉํ์ฌ ์ฌ์ฉํ๊ณ ์์๋ค.๐๐ป ๊ฒฐ๋ก ์ ์ผ๋ก ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉ์ ์ค, ํจ์ ํํ์ ๋ฑ ์ค์ ์์ด ์ค๋ํซ์ ์ฌ์ฉํ๊ธฐ ์ํ๋ค๋ฉด ์๋ extension(ES7+ React/Redux/React-Native snippets)์ ๋ค์ด๋ฐ์ ์ฌ์ฉํ์๊ธธ ๊ถ์ฅํ๋ค.ES7+ React/Redux/React-Native snippetsrafce๋ผ๋ ์ค๋ํซ์ ํจ์ ํํ์์ ๋น ๋ฅด๊ฒ ์์ฑํด์ฃผ์ด ์ฝ๋์์ฐ์ฑ์ด ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ค.๐๐ป ๋ง์ฝ ๋ค๋ฅธ ์ค๋ํซ์ ์ค์ ํ๊ณ ์ถ๊ฑฐ๋, ์ค๋ํซ ๋จ์ถํค๋ฅผ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด ๋ ์๋์ ์ค์ ๋ฐฉ๋ฒ์ ์์ฑํด๋จ๋ค.Snippet..
zsh: command not found: nvm ํด๊ฒฐ
๋๋ณด๊ธฐvite๋ก ๋ฆฌ์กํธ ์ฑ์ ์์ฑํ๊ณ npm install์ ํ๋ค๊ฐ ์๋์ ๊ฐ์ ์ค๋ฅ๋ฅผ ๋ณด๊ฒ ๋์๊ณ , ํด๋น ์ค๋ฅ๋ ๋ ธ๋ ๋ฒ์ ์ด ์์ดํ๋ค๋ ๊ฒ์ด์๊ธฐ ๋๋ฌธ์ nvm์ ํตํด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค.๋ ธ๋ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํ๋๋ฐ ์๋ํ์ง ์์๋ค.$ nvm install 18.12.1zsh: command not found: nvm1. nvm ์ค์น ์ฌ๋ถ ํ์ธ๋ด ๊ฒฝ์ฐ nvm์ด ์ค์น๊ฐ ์๋์ด์๋ ๊ฒฝ์ฐ์๋ค. ๊ทธ๋์ ์๋์ ๊ฐ์ด nvm์ ์ค์นํด์ฃผ์๋ค.nvm -v // 0.39.7 ๋ฒ์ ์ด ๋จ์ง ์๋๋ค๋ฉด ํฐ๋ฏธ๋์์ Homebrew๋ก ์ค์นํด์ค๋ค.brew updatebrew install nvmmkdir ~/.nvm ์ค์นํ ์๋ 2๋ฒ ์งํ2. zshrc ์ค์ nvm์ด ์กด์ฌํ๋ค๋ฉด ํ๊ฒฝ๋ณ์ ์ค์ ์ด ์ ๋๋ก ๋์ด ์..
[ํ๊ณ ] ํ๋ก๊ทธ๋๋จธ์ค ํ์คํ ๋ฐ๋ธ์ฝ์ค ๋จ์ 2์ฐจ
ํ๊ณ ๊ฐ ๋ง์ด ๋ฆ์๋ค์.. ์คํ๋ฆฐํธ 2์ฐจ๊ฐ 6์7์ผ์ ๋๋ฌ์ต๋๋ค. ์ง๊ธ๊น์ง ๋ฐ๋ธ์ฝ์ค๋ฅผ ํ๋ฉด์ ์ ๊ณตํ๋ ๊ฐ์ ์ธ ์ด๋ค ํ๋๋ค์ ํ๋์ง ์์ฃผ๋ก ๋จ๊ฒจ๋์ผ๋ ค๊ณ ํฉ๋๋ค! ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค ๊ณ ๋ฏผ์ค์ด์ ๋ถ๋ค๊ป ๋์์ด ๋์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.๋งค์ฃผ ์ ์ตํ์ง ์์ ์ ์ด ์๋ ๋ฆฌ์กํธ ์คํฐ๋4์๋ง๋ถํฐ ํ์ฌ๊น์ง ๋ฆฌ์กํธ ์คํฐ๋๋ฅผ ์งํํ๊ณ ์๋ ์ค์ ๋๋ค. ์ฐธ์ฌ๋ฅผ ํฌ๋งํ๋ 9๋ช ์ด ๋ชจ์ฌ ๋ชจ๋ ๋ฆฌ์กํธ ๋ฅ๋ค์ด๋ธ ์ฑ ์ ์ฝ๊ณ ๋ฉด์ ์ง๋ฌธ์ ๋ง๋ค์ด์ ์ง๋ฌธํ๊ณ ๋ตํ๋ ํํ๋ก ์คํฐ๋๊ฐ ์ด๋ค์ก์ต๋๋ค. ๋ฆฌ์กํธ ๋ฅ๋ค์ด๋ธ ์ฑ ์ด ๋์ด๋๊ฐ ์๋ค๋ณด๋ ๊ฐ๋ฐํ๋ฉด์ ์๊ฐํด๋ณด์ง ๋ชปํ๋ ๊น์ ๋ด์ฉ๊น์ง ๊ณต๋ถํ ์ ์์์ต๋๋ค. ๋ํ ๋ฉด์ ์ง๋ฌธ ํ์์ ํตํด ๋ต์ ํ ์ ์๋๋ก ๊ณต๋ถํ ๋ด์ฉ์ ๊ธฐ์ตํ๋ ค๊ณ ํ์๋๋ฐ ๊ต์ฅํ ์ ์ฉํ์ต๋๋ค. ์๋ก์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์๊ฒ๋๊ณ , ๋ฆฌ์กํธ์ ๋ฒ์ ์..
[JavaScript] ๋ณ์์ ์ฌํ ๋น ๊ณผ์
๋ณ์์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๊ฐ ์ ์ฅ๋์ด ์๋ค. ๊ทธ๋ฌ๋๊น, ํน์ ๊ฐ์ด ์ ์ฅ๋์ด ์๋ ๊ฒ์ด ์๋, ํน์ ๊ฐ์ด ์ ์ฅ๋์ด ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ด๋ค. ๋ณ์์ ๊ฐ์ด ์ฌํ ๋น๋ ๋ ํด๋น ๊ฐ์ด ์คํ์ ์กด์ฌํ๋ฉด ๊ทธ ์คํ ์ฃผ์๋ก ํ ๋น๋๋ค๋ ๋ด์ฉ์ ๋ณธ ๊ฒ ๊ฐ์๋ฐ, ๊ฐ์ด ๊ฐ๋๋ผ๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ๊ฐ์ด ์ ์ฅ๋๋ ์ค ์์๋๋ฐ ๊ทธ๊ฒ ์๋์ด์ ์ข ๋ ์ ํํ๊ฒ ๊ณต๋ถํด์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.๋ณ์์ ์ข ๋ฅ์ ๋ฐ๋ผ ์ ์ฅ๋๋ ์์น๊ฐ ๋ค๋ฅด๋ค.๋ฉ๋ชจ๋ฆฌ๋ 4๊ฐ์ ์์ญ์ด ์๊ณ , ์ ์ญ๋ณ์, ์ง์ญ๋ณ์, ์ฝ๋, ๋์ ํ ํ ๋น์ ๋ฐ๋ผ ์ ์ฅ๋๋ ์์น๊ฐ ๋ค๋ฅด๋ค.์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ํ์์ญ๊ณผ ์ฝ์คํ์ ์ฌ์ฉํ๋ค.์ฝ์คํ์์ ํ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค.๋ณ์์ ์ ์ฅ๋๋ ๊ฒ : ์ฝ์คํ์ ์ฃผ์ ๋ฉ๋ชจ๋ฆฌ ํ(heap ์์ญ)์ฐธ์กฐ ํ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค. (๋ฐฐ์ด, ๊ฐ์ฒด, ํจ์ ๋ฑ)..