분류 전체보기
[JS] 단속카메라
그리디 알고리즘을 활용하여 해결할 수 있는 문제이다. https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 사실 이전에 2단계 문제중에서 상당히 유사한 문제가 하나 있던걸로 기억한다. [요격시스템] 풀이방법은 아래와 같다. 결국 과속카메라를 설치하는 것도 위 그림처럼 만드는 것이다. 한선분이 있다면 해당 선분은 무조건 포함되어야 한다. 따라서 시작점을 잡으면 그선의 끝점을 잡는다. 이 두점을 A,B라고 두자 다음 선분의 시작점이 B보다 뒤라면 무조건..
[JS] 도넛과 막대 그래프
그래프를 활용한 구현문제 https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 사실 처음에 문제에 대한 접근 자체가 힘들었었다. 선형, 도넛형 , 8자형 구분을 하란건 알겠는데 중심 노드가 주어지지 않았기 때문이다. 따라서 문제를 푸는 방식을 아래와 같이 단순화 해보았다. 1. 중심노드 찾기 (뻗어가는 노드 찾기) 2. 중심노드에서 뻗어나간 그래프들의 종류를 찾기 1. 중심노드 찾기 중심노드를 어떻게 찾을 수 있을까 고민했는데 중심노드는 자신에게 ..
[JS] 등굣길
https://school.programmers.co.kr/learn/courses/30/lessons/42898# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 동적계획법 (dp) 를 활용하면 해결할 수 있는 문제이다. 2차원 배열을 둔 후 dp에 이를 저장하면 된다. dp[r][c] = dp[r-1][c] + dp[r][c-1] 위 점화식을 활용하면 m,n까지 갈 수 있는 경로를 모두 구할 수 있다. 조금까다로운 부분은 2가지가 있다. 1. 웅덩이 [일단 웅덩이가 row,col 이 아니라 col,row로 되어있다;; 조심해야함] 웅덩이를 처음에 1로 ..
[React] Deep Dive 모던 리액트(19) 리액트 개발 도구
프로그래밍에서 가장 중요한 것 중 하나는 디버깅이다. 코드에서 잘못된 부분을 파악하고 수정을 할 수 있게 해주는 방법이기 때문이다. 리액트에서는 리액트로 개발된 애플리케이션의 디버깅을 돕기 위한 리액트 내장 도구인 react-dev-tools를 제공한다. 이 react-dev-tools는 리액트 뿐 아니라 리엑트 네이티브 등 다양한 플랫폼에서 사용할 수 있다. 브라우저 확장 프로그램을 사용하면 이를 쉽게 사용할 수 있다. 페이지에 접속했을때 아래와 같이 뜬다면 정상적으로 리액트 개발 도구를 사용할 수 있다는 뜻이다. 리액트를 활용해 정상적인 배포를 진행중이라면 아래와 같이 나오게 된다. 만약 비 정상적인 접근이거나 리액트로 만든 페이지가 아니라면 아래처럼 나온다. 리액트 개발 도구를 키면 개발자도구에 아..
[JS] 가장 많이 받은 선물
map 자료형을 활용한 나름 간단한(?) 구현문제이다. https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr map자료형에 사람이름을 key로 두고 send에는 해당 사람이 보낸 사람들의 목록을 , get에는 내가 받은 사람의 목록을 저장한다. 사람들끼리 선물을 돌리게 하기 위해서 반복문을 사용하면서 순회하고, 서로 선물을 주고받으면 된다. 1. 서로선물을 주고받은 경우 -> 더 많이 선물을 준사람이 받음 2. 서로 선물을 주고받은 수가 같은 경우..
[React] Deep Dive 모던 리액트(18) Jotai & Zustand
Jotai는 공식 홈페이지에서 나와 있는 것처럼 Recoil의 atom 모델에 영감을 받아 만들어 진 상태 관리 라이브러리이다. Jotai는 상향식 접근법을 취하고 있다. 리덕스와 같이 하나의 큰 상태를 애플리케이션에 내려주는것이 아닌, 작은 단위의 상태를 위로 전파할 수 있는 구조를 가지고 있음을 의미한다. 이런 방식은 리액트 Context의 문제점인 불필요한 리렌더링이 일어나는 문제를 해결할 수 있다.메모이제이션 & 최적화 없이도 리렌더링이 발생하지 않는 구조이기 때문이다. atom Recoil과 마찬가지로 최소 단위의 상태를 의미한다. const couterAtom = atom(0) 위와 같이 Atom을 만들면 아래와 같은 정보가 담긴다. console.log(counterAtom) //,... /..