728x90
반응형

DP 3

[JAVA][LeetCode][SlidingWindow|DP] #123. Best Time to Buy and Sell Stock III

문제 / 예시 / 제한조건 처음에 보고는 간단하게 생각했음. 122번 문제 푼 것에서 transcation 이 발생 할 때마다, 배열에 저장하고 가장 큰 수 2개를 뽑아서 더하면 되는 문제라고 생각함 예를 들어, 1 1 2 4 2 5 7 2 4 9 0 이렇게 있으면 buy 1 -> sell 4 : profit = 3 buy 2 -> sell 7 : profit = 5 buy 2 -> sell 9 : profit = 7 가 되고 가장 큰 두 수 7,5 를 더해서 12가 된다고 생각함. class Solution { public int maxProfit(int[] prices) { if(prices.length prices[sellTime + 1]) { savedProfit[savingIndex] = pri..

[백준] 2839번 JAVA 설탕 배달

이 문제는 거의 2일? 적게 생각하긴 했지만.. 계속 생각해도 생각이 나지 않아 엄청 답답해 하고 있었다.. 그러다 결국 오늘 글을 쓰기 위해 유튜브를 급히 보았다. 세상.. 엄청 똑똑하신 분들이 많던데.. 보다가 엄청 띠용하는 분의 영상을 보고 설명을 해보고자 한다. DP란 결국 규칙성을 찾는 문제인데 규칙성 찾기가 너무나 어렵다 ㅠㅠ 우선 문제는 다음과 같다 가장 적은 개수의 봉지로 설탕을 나누기 위해서는 5봉지가 많아야 된다. 그래서 설탕을 5개씩 나열해보면 위 그림과 같이 나열 할 수 있다. 그럼 5개로 나누었을 때 경우의 수는 설탕이 0개, 1개, 2개, 3개, 4개가 남는 경우가 있다. 그림으로 표현하면 이러한 경우가 있다. 이때를 봉지로 계산해보면! 한개의 설탕이 남는 경우, 위와 같이 5개..

[백준] 11726번 타일 채우기

예전에 취업 준비 하면서 공부 했을때도 잘 못했던 DP 문제를 공부하기 위해 DP를 다시 열었다.. 근데 여전히 하~나도 예전보다 어쩌면 더 잘 모르겠다.. 그래서 쉬운거?부터 천천히 공부해봐야지! 문제입니다! 문제에 대해 하나하나 채워보았다. 채우게 되면 위와 같은 모양이 되는데, 여기에는 규칙이 있다. 2x3의 타일을 채우는 방법을 전부 나열하게 되면, 아래와 모양이 되는데 이것은 1번에 2개의 타일을 더하는 방법과 2번에 1개의 타일을 더하는 방법으로 표현 할 수 있다. 여기서 첫번째 세번째 모양이 같아서 이 것을 제외한 3가지 방법이 2x3을 채우는 방법의 개수가 된다. 그럼 이제 규칙성을 눈치챘을까? 나는 이때도 몰라서 한 번 더 채워보았다. 2x4를 채우는 방법을 전부 나열하게 되면, 아래와 ..

728x90
반응형