본문 바로가기

DP25

[C++/groom] Lv.3 : 거리두기 (DP) https://level.goorm.io/exam/160279/%EA%B1%B0%EB%A6%AC%EB%91%90%EA%B8%B0/quiz/1 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io구름 레벨 3. DP와 경우의 수 전처리 계산값(?)을 적절히 사용해야 한다구름은 이런 유형이 많은가.. 익숙하지 않아서 더 오래걸린다 ㅠㅠ 각 상태 별 경우의 수를 찾아서 dp에 적절히 더해줘야 한다!dp[i][j] -> i번째 줄의 상태가 j(0~5)일 때의 누적 경우의 수로 해결했다. 나의 풀이#include #include using namespace std;int main() { int n=0; int mod = 100000007; int dp[10.. 2025. 4. 18.
[C++/PGS] Lv.3 : 연속 펄스 부분 수열의 합 (DP) https://school.programmers.co.kr/learn/courses/30/lessons/161988 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.cpp 배열 선언도 까먹어버려서 .. 큰일났다 ㅋㅋ다시 다 공부해야지 이 문제는 dp로 풀어야하는데, 아이디어 떠올리기기ㅏ 조금 힘들었다펄스 배열과 연속 부분수열을 보고 sliding window로 풀어야하나? 싶었는데풀다 보니 left를 옮길 조건이 없어서 이게 아닌가보다 싶었다.그래서 DP로 최댓값을 저장하면서 풀었다! 일차원 배열을 두개 쓰려다가, 더 효율적인 코드를 위해 이차원 배열로 바꾸었다.dp[][0] -> 펄.. 2025. 4. 15.
[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.
728x90
반응형