[알고리즘] Coin Exchange Problem2.

Posted by 앱해피
2016. 12. 27. 08:55 알고리즘

목표 : 목표 금액 'A'와 n개의 동전이 주어질 때(v1 < v2 < v3 < ..... < vn), 목표 금액 'A'에 대한 잔돈을 만들 때 필요한 동전의 최소 개수를 찾는 프로그램을 작성하라.


목표 금액 = 5


동전[] = 1, 2, 3


동전을 만들 수 있는 방법의 수 = { 1, 1, 1, 1, 1 }, { 1, 1, 1, 2 }, { 2, 2, 1 }, { 1, 1, 3 }, { 3, 2 }


최소 동전의 수 { 3, 2 } => 2개


모든 동전과 관련하여 두 가지 옵션이 있다.(동전을 선택할지 말지) 따라서 두 가지 옵션을 모두 고려한 솔루션을 찾아서 최적 해를 선택해야 한다. 이번 문제의 경우는 모든 솔루션 중 최소인 것을 고르면 된다. 


먼저, 문제를 더 작은 문제들로 분해한다. 그러면 더 작은 문제는 뭘 뜻할까?


목표 금액은 'A'이며, 동전은 v1, v2, v3, .... , vn이라고 하자.


MC(j)는 목표 금액 j에 대한 잔돈을 만들 때 요구되는 동전의 최소 개수.


더 작은 문제


1) 첫 번째 동전(v1)을 선택, 이제 더 작은 문제는 목표 금액 [(j - v1), MC(j - v1)]에 대한 잔돈을 만들 때 요구되는 동전의 최소 개수다.


2) 두 번째 동전(v2)을 선택, 이제 더 작은 문제는 목표 금액 [(j - v2), MC(j - v2)]에 대한 잔돈을 만들 때 요구되는 동전의 최소 개수다.


3) 이 같은 방식으로 N까지 이어진다.


4) N 번째 동전(vn)을 선택, 이제 더 작은 문제는 목표 금액 [(j - vn), MC(j - vn)]에 대한 잔돈을 만들 때 요구되는 동전의 최소 개수다.


우린 목표금액 j에 대한 잔돈을 만들 때 요구되는 동전의 최소 개수를 찾을 필요가 있다. 따라서 더 작은 문제에 대한 최소 동전 개수를 선택하게 될 것이며 동전 하나를 추가한다는 의미로 1을 더하게 된다. 이처럼 더 작은 문제는 재귀적으로 해결해 나간다.


따라서 재귀 방정식을 작성하면 다음과 같다.




** Using Bottom-Up Dynamic Programming **

상향식 다이나믹 프로그래밍


1) 부분 문제에 대한 최적해를 저장할 배열을 관리하며, 그 배열을 coinReq[]라 한다. 이 배열의 길이는 amount + 1(0부터 시작)이다.


2) 따라서 coinReq[n]이 최종해가 된다. 목표 금액(n)에 대한 잔돈을 만들 때 필요한 동전의 최소 개수.


3) 상향식(Bottom-up) 방법을 사용하므로, coinReq[]를 0부터 n까지 채워야 한다. 


4) 0원을 만들기 위해선 그 어떤 동전도 필요하지 않으므로 coinReq[0] = 0이다.


5) 또 다른 배열인 CC[](크기 : 동전의 수)도 이용할 것이며, 모든 동전을 이용하여 목표금액 n에 대한 해를 저장할 것이다. 이 중에 가장 작은 값이 목표 금액에 대한 최적해가 될 것이다.


6) 0부터 N까지의 금액에 대한 최적해를 찾아야 하기 때문에, CC[] 배열을 매번 리셋해야 한다.


7) 아래 코드를 살펴보자.



곰플레이어, KMP Player MP4 코덱 다운 받기.

Posted by 앱해피
2016. 3. 10. 21:27 인터넷 활용

 

MP4 최신 코덱

 

 

KMP Player나 곰플레이어로 MP4 동영상을 시청하다 보면 동영상은 잘 동작하지만

 

소리가 재생되지 않는 경우가 많이 있습니다. 보통 이 경우는 코덱이라는 소프트웨어

 

인코딩된 MP4 포맷의 데이터를 효과적으로 처리하지 못해서 발생하는 문제입니다.

 

이런 문제는 코덱을 업그레이드 하면 보통 해결할 수 있는 문제 입니다.

 

 

 

 

MP4 최신 코덱

 

 

MP4 형식의 파일은 특히 ios 즉, 아이폰 아이패드에서 동영상을 볼 수 있는

 

표준 형식이기 때문에 MP4 동영상을 원활하게 시청하기 위해서는

 

반드시 인터넷에서 제공되는 최신 코덱을 다운받아서 사용해야 합니다.

 

아래파일을 클릭하면 MP4 최신 코덱을 다운 받을 수 있습니다.

 

3ivx_d4_451_win.exe

 

그럼 설치하는 방법에 대해 알아보겠습니다.

 

우선 다운로드 받은 파일을 클릭해서 엽니다.

 

 

 

이제부터 설치를 시작합니다.

 

Next 버튼을 눌러주세요

 

 

 

 

 

설치에 동의해주세요 (I Agree) 버튼 클릭

 

 

설치할 경로를 지정하시고 Install 버튼 클릭

 

설치가 완료된 모습입니다.

 

이제부터 동영상 자체에 문제가 없는 이상

 

MP4파일을 정상적으로 재생할 수 있습니다.

 

 

 

[kpop] 다비치(DAVICHI) - 이 사랑(태양의 후예 OST) 가사 노래 뮤직 비디오

Posted by 앱해피
2016. 3. 10. 19:35 인터넷 활용

 

 

 

출처 : 유튜브 공식 채널

 

시간을 되돌리면
기억도 지워질까
해볼 수도 없는 말들을
내뱉는 걸 알아

널 힘들게 했고
눈물로 살게 했던
미안한 마음에 그런 거야

하지만 난 말야
너의 밖에선 살 수 없어

내겐 너 하나로 물든
시간만이 흘러갈 뿐이야

사랑해요. 고마워요
따뜻하게 나를 안아줘
이 사랑 땜에 나는 살 수 있어

사랑은 그런가봐
무슨 말을 해봐도
채워지지 않은 것 같은
마음이 드나봐

내 욕심이라고 다시
생각을 해봐도
그 마음 쉽게 사라지지 않아

 

 

 


알잖아 난 말야
너의 밖에선 살 수 없어

내겐 너 하나로 물든
시간만이 흘러갈 뿐이야

사랑해요 고마워요
따뜻하게 나를 안아줘
이 사랑 땜에 나는 살 수 있어

돌아가도 다시 견딜 수 있을까
너무 힘들던 시간들

흔들리지 않은 너를 볼 때면
떨리는 내 입술이

두루루..두루루..
알잖아 난 말야
너의 밖에선 살 수 없어

내겐 너 하나로 물든
시간만이 흘러갈 뿐이야

사랑해요 고마워요
따뜻하게 나를 안아줘
이 사랑 땜에 나는 살 수 있어
사랑 땜에 나는 살 수 있어

 

 

 

 

 

 

 

[kpop] 다비치(DAVICHI) - 이 사랑(태양의 후예 OST) 가사 노래 뮤직 비디오