2024/12/16 2

[c++] Coin Combinations(동전 조합 알고리즘, 순서 고려 X) with Dynamic Programming

이번엔 dynamic programming을 이용해서동전 조합 알고리즘 문제를해결하는 법을 정리해보려고 한다 동전 조합, 즉 Coin Combinations은우리가 학창시절 수학과목에서 볼 수 있었던확률과 통계 유형의 문제인데각 동전이 주어지고 합계가 주어질 때합계를 만들 수 있는 경우의 수를 구하는 문제이다 이같은 문제는 동전의 순서를 고려하는 경우와동전의 순서를 고려하지 않는 경우로 구분할 수 있는데이번 문제는 동전의 순서를 고려하지 않는 경우였다(조금 더 간단하게 구현이 가능하다) 알고리즘 문제는 다음과 같다   그리고 Input, Output, Constraints는 다음과 같다  이러한 Coin Combinations 문제는대표적인 dynamic programming 문제이다 dynamic pr..

기술/알고리즘 2024.12.16

[c++] BFS/DFS 구현하기 (넓이우선탐색, 깊이우선탐색)

이번에는 알고리즘에서는 기본이 되는BFS(넓이우선탐색)과 DFS(깊이우선탐색)을c++로 구현한 내용을 정리해보려고한다 알고리즘이 .. 원리를 이해해도계속 복습하지 않으면 자꾸 까먹어서기록용 + 공부용으로 남겨두려고한다 BFS와 DFS는많은 알고리즘에서 사용하는기본이 되는 탐색법이기 때문에툭 치면 나올만큼 외우고있으면 좋은 것 같다(머리가 안좋으면 외워야,,)우선 그래프 탐색에서 필요한 Node는아래와 같이 구현했다struct Node { int value; vector children; Node(int val) : value(val) {}}; 자기 자신의 int값인 value와Node 포인터의 vector인 children을요소로 갖고있다  BFS(Breadth First Search)넓..

기술/알고리즘 2024.12.16