Algorithm/알고리즘 예제코드

DP(동전 교환, LCS)

동전 교환

 

동전 교환 관련 문제 접근 :: 마이구미

이번 글은 "동전 교환" 에 관한 알고리즘을 다뤄볼 것이다. 백준 알고리즘 사이트에서 알고리즘 분류에서 "동전 교환"을 볼 수 있다. 2293번 동전 1, 2294번 동전 2, 11047번 동전 0 문제를 통해 다룬

mygumi.tistory.com

 

n가지 종류의 동전을 갖고 가치의 합이 k원이 되는 경우의 수.

dp[0] = 1; 
for (int i = 0; i < n; i++) { 
	for (int j = coin[i]; j <= k; j++) { 
    	dp[j] = dp[j] + dp[j - coin[i]]; 
        } 
 }

 

n가지 종류의 동전을 갖고 가치의 합이 k원이 되도록한다. 이때 동전의 개수는 최소가 되려고 한다.

Arrays.fill(dp, 10001); 
dp[0] = 0; 
for (int i = 0; i < n; i++) { 
	for (int j = coin[i]; j <= k; j++) { 
		dp[j] = Math.min(dp[j], dp[j - coin[i]] + 1); 
	} 
}

 

LCS

 

[알고리즘] 그림으로 알아보는 LCS 알고리즘 - Longest Common Substring와 Longest Common Subsequence

LCS는 주로 최장 공통 부분수열(Longest Common Subsequence)을 말합니다만, 최장 공통 문자열(Longest Common Substring)을 말하기도 합니다.

velog.io

 

'Algorithm > 알고리즘 예제코드' 카테고리의 다른 글

[JS]MaxHeap  (0) 2022.02.23
부분합  (0) 2021.09.28
소수판별  (0) 2021.09.16
Sort  (0) 2021.09.10
정규식  (0) 2021.08.25