일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- useEffect return
- 투포인터알고리즘 js
- 모던 자바스크립트 TIL
- K_Digital Training
- Frontend Roadmap
- 개발자 특강
- 프로그래머스 데브코스 프론트엔드
- 모던 javascript Deep Dive
- react 프로젝트 리팩토링
- KDT 프로그래머스 데브코스 프론트엔드
- Vue3
- 모던 자바스크립트 Deep Dive
- 프로그래머스 K_Digital Training 프론트엔드
- 모던 자바스크립트 딥다이브
- TypeScript 문법 소개
- 모던 자바스크립트 Deep Dive TIL
- 프로그래머스 K_Digital Training
- 백준 node.js
- frontend roadmap study
- 인프런 자바스크립트 알고리즘 문제풀이
- react customHook 예시
- 프로그래머스 데브코스
- 리팩토링 회고
- 프로그래머스 데브코스 프론트엔드 TIL
- 우테캠 회고록
- 백준 js
- KDT 프로그래머스
- Vue3 Router
- 머쓱이
- useRef 지역 변수
- Today
- Total
목록알고리즘_JS/백준_DP_동적계획법 (2)
프론트엔드 개발자의 기록 공간
🚩 1463번_1로 만들기 실버3 📖 문제 설명 : N 개의 줄에 각각 빨강, 초록, 파랑 집이 주어진다. N 번째 선택한 집의 색은 N-1 번째 선택한 집의 색과 같지 않아야 한다. 즉 N 번째 집이 빨간색일 때, N-1, N+1은 빨간색으로 칠할 수 없다. 또한, 각각의 집의 비용이 다르기 때문에 최소한의 비용을 선택하면서 규칙에 어긋나지 않게 선택해야 한다. 💡 모든 경우를 선택해서 마지막에 최솟값을 출력하면 된다. 즉, N 번째 파란색을 선택하는 경우는 N 번째 파란색 집 + N-1 번째 빨간색 집 + N-1 번째 초록색 집의 가격이다. 이 개념을 생각해서 각각의 집을 선택할 때 적용하면 된다. const fs = require('fs') const input = fs.readFileSync('/..
🚩 1463번_1로 만들기 실버3 📖 문제 설명 : 정수 N이 주어졌을 때 주어진 조건에 따라 1로 만든다. 이때 연산을 사용하는 횟수의 최솟값을 구해라. 💡 DP 유형이므로 i번째를 구할 때, i 이전의 값들을 이용해서 해결한다. const fs = require('fs') const input = fs.readFileSync('/dev/stdin').toString().trim() let N = Number(input) let answer = Array.from(Array(N + 1), () => 0) answer[2] = 1 answer[3] = 1 for (let i = 4; i 이전 값의 경우의 수 +1 answer[i] = answer[i - 1] + 1 // 3으로 나누어지는 경우 -> 3으..