inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

174만명의 커뮤니티!! 함께 토론해봐요.

계단오르기 질문

해결됨

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

강의를 듣기에 앞서 계단오르기 문제를 DFS로 풀었습니다. 아래와 같이 문제를 풀어도 문제가 없을까요? // 계단 오르기 function solution(target){ const count = [1,2]; const answerArr = [] const set = [] let answer = 0; function dfs(n){ if(n>target) return if(n === target){ answer+=1 answerArr.push([...set]) return } for(let el of count){ set.push(el) dfs(n+el) set.pop() } } dfs(0) console.log(answerArr) return answer }; console.log(solution(7)) console.log(solution(8)) console.log(solution(4))

  • javascript
  • 코딩-테스트
  • 다이나믹프로그래밍
손준석 댓글 2 좋아요 1 조회수 300

다이나믹 프로그래밍에서 도무지 이해가 안가는 부분이 있어서 질문드립니다ㅠㅠ

미해결

dp 문제 중 효율적인 화폐 구성이라는 문제가 있는데요. k개의 화폐로 n원을 만들 때 가작 작은 화폐 개수를 구하는 문제입니다. 예를 들어, k = 2, 3, 5로 구성되어 있고, n = 7, 정답이 a(n)이라면, 7 = 2 + 5이므로, a(7) = 2 개가 되는 문제입니다. 여기서 점화식은 a(n) = min( a(n), a(n-k) + 1 ), a(n-k) + 1: 화폐 k원을 반드시 사용하는 경우를 의미 위의 예시에 점화식을 적용해본다면, 시작 전 a(n)을 모두 INF 값으로 초기화, a(7) = min( a(7), a(7-2)+1, a(7-3)+1, a(7-5)+1 ) = min( a(7), a(5)+1, a(4)+1, a(2)+1 ) 여기까지는 이해가 됐는데요, 설명이나 코드를 찾아보면 반복문의 위치가 제가 생각한거랑 반대로 돼있더라구요ㅠㅠ 저는 n에 대한 루프 안에 k의 루프가 와야 위의 점화식과 같은 방식이 된다고 생각했지만, 설명에서는 k = 2일 때 n=0~7까지 a(n)을 쫘르륵 구하고, 그다음 k = 3일 떄 쫘르륵, 마지막 k=7일 때 쭉 구해서 최종답을 구합니다. 왜 반복문의 위치가 이렇게 바뀌는 건가요?? 아시는 분 답변 주시면 정말 감사하겠습니다ㅠㅠ

  • dp
  • 다이나믹프로그래밍
  • 알고리즘
  • 코테
  • 코딩테스트
ghdtkdgh51 댓글 0 좋아요 0 조회수 176

다이나믹프로그래밍에 대해 질문있습니다 ㅎㅎㅎ

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

안녕하세요, 선생님 좋은 강의 감사합니다!!! 다이나믹프로그래밍 에제 풀다보니 궁금한점이 생겼는데 모든 다이나믹프로그래밍 문제는 탑다운, 바텀업 두 방식으로 다 풀 수 있는건가요?

  • 다이나믹프로그래밍
  • python
  • 코테 준비 같이 해요!
박인혁 댓글 1 좋아요 0 조회수 312

DP문제 문의

미해결

코딩테스트 전 꼭 알아야 할 개념과 문제(with 자바)

안녕하세요. 목차중에 DP가 들어있는데 아직 강의 준비 중이신지 궁금합니다. 혼자 DP문제를 여러개 접해보면서 점화식이라는게 있지만 이게 조금만 바꿔서 내면 응용이 전혀 안되고있습니다. ㅠㅠ DP문제도 역시 BFS처럼 공식으로 푸는게 가능할까요?

  • 다이나믹프로그래밍
  • java
  • 코테 준비 같이 해요!
Sung Rak 댓글 2 좋아요 1 조회수 266

인기 태그

인프런 TOP Writers

주간 인기글