분류 전체보기
[JS] N으로 표현
dp를 활용해서 해결하였다. https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dp[i] 는 N i개로 만들수 있는 숫자들의 모임이다. 처음에는 map 자료형을 통해서 { 숫자 -> 숫자를 만드는데 필요한 N의 개수 } 와 같은 방식으로 dp를 구현했었다. 이렇게 dp를 구현하니 문제가 있었다. 자, dp를 채우는 과정을 생각해 보자. 편의상 N이라는 말 대신 숫자 5를 써보겠다. 1. 5가 한개일때 만들 수 있는 수는 5 하나이다. => { 5..
[MSW] TypeError: response2.headers.all is not a function
msw를 사용해서 mock api를 만들어서 사용하려는데 위와같은 에러가 나왔다. https://github.com/mswjs/msw/discussions/1884 Type Error: response2.headers.all is not a function · mswjs/msw · Discussion #1884 Hi I have started getting the error "Type Error: response2.headers.all is not a function" on all my mocks. They were working fine, but now they are all broken because of this. I have the exact same... github.com 해당 이슈를 보니 폴..
[JS] 산 모양 타일링 (카카오 겨울 인턴십)
dp를 활용하여 해결할 수 있는 문제이다. https://school.programmers.co.kr/learn/courses/30/lessons/258705 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이런 문제는 규칙을 찾는것이 중요하다. 해당문제와 같은 경우 조각이 추가되는 케이스가 2개다. 윗면이 있거나 없거나.. 잘생각해보면 윗면이 있는 경우는 이렇게 생각할 수 있다. 먼저 지금 추가되는 블럭을 i번째라고 생각해보자. 지금 추가한 3가지 블럭은 dp[i-1] 번째까지 블럭을 전혀 침범하지 않는다. 따라서 dp[i-1] * 3을 해주어서 경우의 ..
[React] Deep Dive 모던 리액트(21) 테스트
테스트란 개발자가 만든 프로그램이 코딩을 한 의도대로 작동하는지 확인하는 일련의 작업을 의미한다. FE와 BE 모두 테스트 과정이 중요하지만 방법과 방법론은 조금 다르다. BE의 테스트는 서버,DB에서 원하는 데이터를 올바로 가져올 수 있는지 , 데이터 간 교착상태나 경쟁상태가 발생하지는 않는지 등등을 테스트한다. 이러한 백엔드 텍스트는 일반적으로 화이트박스 테스트이다로 GUI가 아닌 AUI에서 주로 수행하기 때문에 백엔드에 대한 이해도가 어느정도 있는 사람만 가능하다. 반면 FE는 일반적인 사용자와 동일하거나 유사한 환경에서 수행된다. 사용자가 프로그램에서 수행할 모든 경우의 수를 고려해야 하며 사용자가 FE코드를 알 필요가 굳이 없는 블랙박스 형태로 테스트가 이뤄진다. 특히 사용자는 개발자의 의도대로..
[JS] 이중우선순위큐
이분탐색을 활용해서 풀었다. https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 결국 문제에서 요구하는 것은 3개이다. 최소 , 최대를 바로바로 빼낼 수 있게 도와주는것 . 이분탐색을 활용하여 항상 정렬된 형태로 값을 넣는다면 문제를 해결할 수 있을것이라 생각했다. 이분탐색으로 정렬된 리스트에 값을 넣는것을 빠르게 했고 pop은 시간복잡도가 O(1) 이므로 괜찮을꺼라 생각했다. 조금 주의할점은 shift로 JS에서 shift는 O(n)의 시간복잡도..
[JS] 야근 지수
힙을 활용해서 해결하였다. https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 야근지수를 가장 낮게 받는 방법은 생각보다 간단하다. 현재 남은 피로도 중에서 가장 큰값부터 피로도를 깎으면 된다. 문제 조건또한 1000000정도라서 시간도 충분할꺼라 생각했다. 이런 문제는 이분탐색을 활용해도 되고 힙을 활용해도 되는데 힙을 활용했다. 우선순위 큐를 활용하여 해결하였다. class MaxHeap { constructor(){ this.ary = [0]..