본문 바로가기

DP23

[Javascript/PGS] Lv.3 : 스티커 모으기(2) - 하나만 틀릴 때 해결 https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.놓치기 쉬운 부분을 다시 상기시켜주는 문제전반적인 과정은 Dynamic Programming으로 해결이 가능하다. 1. DP - 제출 시 85.9점정확성 1개(테스트 33번), 효율성 1개(1번) 틀림이유는 .. N이 1인 경우를 예외처리해줘야 했다.흑흑 경계값 테스트 잘 해보자 길이가 1일 때는 바로 리턴하도록 해줬더니, 100점 통과!  2. 제출 시 100점😎나의 풀이function solution(sticker) {.. 2025. 2. 27.
[Javascript/PGS] Lv.3 : 등대 - js 런타임에러 해결법 https://school.programmers.co.kr/learn/courses/30/lessons/133500 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 프로그래머스 레벨 3 등대 문제 - 트리 dp, dfs 유형* 정답 풀이는 최하단에 1. 재귀 풀이 - DFS이 풀이는 트리 dp 문제의 정석인 느낌인데, js로는 풀 수 없다.파이썬의 경우에는 sys.setrecursionlimit를 사용한다면, 재귀의 최대 깊이를 설정할 수 있어서이렇게 풀면 되지만...자스는 그런거 없다고 함 이 풀이로 제출 시 93.8점이 나왔다. (테스트 9만 틀림) let dp = null;let visited = .. 2025. 2. 26.
[Javascript/PGS] Lv.2 : 피보나치 수 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 프로그래머스 레벨 2.재귀로 풀면 시간 초과나서 안되는 듯.. 굳이 재귀로 풀려고 하면 dp로 점화식 써야 해결될 것 같다.단순하게 반복문으로 풀자!  나의 풀이function solution(n) { let arr = []; let answer = 0; arr.push(0); arr.push(1); for(let i=2; i 2025. 2. 19.
[C++/BOJ] 11660 : 구간 합 구하기 5 (DP) https://www.acmicpc.net/problem/11660  백준 실버1그냥 풀었다가 시간초과나길래 뭐지 싶었는데.. dp 문제였다 ㅜㅜindex 0부터 시작하면 이것저것 귀찮기 때문에 index 1부터 입력을 받으면 편하다  나의 풀이#include#includeusing namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; int m; int num; int dp[1025][1025] = {0,}; int x1; int x2; int y1; int y2; cin >> n >> m; for (int i = 1; i > num; dp[i][j] = dp[i - 1][j] + dp[i.. 2024. 11. 17.
[문제해결기법] 11. 동적 계획법 동적 계획법 (DP) 최적화 문제, 분할 정복 한 문제를 똑같은 문제이면서 크기만 작은 것으로 바꿀 수 있을지 생각해본다. 금화 모으기 문제 D[i][j] : (i, j)까지 오는 동안 모을 수 있는 금화의 최댓값 D[i][j] = max( D[i-1],[j] , D[i][j-1] ) + map[i][j]; 최대 공백 정사각형 (흰색으로만 이루어진 가장 큰 정사각형) mm 크기의 정사각형이 있다면, 4개의 (m-1)(m-1) 크기 정사각형이 있어야 한다는 점에서 착안한다. D[x][y]는 (x,y)가 가장 오른쪽 아래 꼭지점인 정사각형의 최대 크기라고 가정한다. (x,y)가 검은색이면, D[x][y] = 0 흰색이면, x==1 && y==1 : D[x][y] = 1 else : D[x][y] = min(.. 2023. 6. 16.
[C++/BOJ] 2169 : 로봇 조종하기 (DP) https://www.acmicpc.net/problem/2169 문제 NASA에서는 화성 탐사를 위해 화성에 무선 조종 로봇을 보냈다. 실제 화성의 모습은 굉장히 복잡하지만, 로봇의 메모리가 얼마 안 되기 때문에 지형을 N×M 배열로 단순화 하여 생각하기로 한다. 지형의 고저차의 특성상, 로봇은 움직일 때 배열에서 왼쪽, 오른쪽, 아래쪽으로 이동할 수 있지만, 위쪽으로는 이동할 수 없다. 또한 한 번 탐사한 지역(배열에서 하나의 칸)은 탐사하지 않기로 한다. 각각의 지역은 탐사 가치가 있는데, 로봇을 배열의 왼쪽 위 (1, 1)에서 출발시켜 오른쪽 아래 (N, M)으로 보내려고 한다. 이때, 위의 조건을 만족하면서, 탐사한 지역들의 가치의 합이 최대가 되도록 하는 프로그램을 작성하시오. 입력 첫째 줄에.. 2023. 5. 26.
728x90
반응형