문제
다양한 동전들을 가지고 특정 금액을 만들 수 있는 모든 경우의 수를 리턴해야 합니다.
입력
인자 1 : total
인자 2 : coins
출력
주의사항
go 풀이 코드
go 코드 설명:
package main
import "fmt"
func coinChange(total int, coins []int) int {
dp := make([]int, total+1) // Create an array of size total+1 with initial value 0
dp[0] = 1 // Initialize the first element as 1, since there's one way to make 0 money
for _, coin := range coins {
for i := coin; i <= total; i++ {
dp[i] += dp[i-coin] // Accumulate ways of making current amount using current coin
}
}
return dp[total] // Return the total number of ways to make the given total amount
}
func main() {
total := 10
coins := []int{1, 5}
output := coinChange(total, coins)
fmt.Println(output)
total2 := 4
coins2 := []int{1, 2, 3}
output2 := coinChange(total2, coins2)
fmt.Println(output2)
}
go 출력로그
go run coinChange.go
3
4
Golang Algorithm - decompression (0) | 2023.02.24 |
---|---|
Golang - libp2p를 이용한 chat 실습 (0) | 2023.02.23 |
Golang Algorithm - 백준 1015번 수열 정렬 알고리즘 (0) | 2023.02.22 |
Golang Algorithm - uglyNumbers (0) | 2023.02.21 |
Golang Algorithm - Linked List(연결 리스트) (0) | 2023.02.20 |