
해시문제 베스트 앨범 코드 class Solution { public int[] solution(String[] genres, int[] plays) { int[] answer = {}; HashMap map = new HashMap(); for (int i = 0; i < genres.length; i++) { PlayData playData; playData = new PlayData(i); playData.put(i, plays[i]); map.merge(genres[i], playData, PlayData::merge); } Iterator iterator = PlayData.sortByTotalValue(map).iterator(); ArrayList list = new ArrayList(); ..

동적계획법 도둑질 문제 동적계획법 : 불필요한 계산을 줄이고 최적해를 찾는 방법 코드 class Solution { public int solution(int[] money) { int answer = 0; int dp[] = new int[money.length]; int dp2[] = new int[money.length]; dp[0] = money[0]; dp[1] = money[0]; dp2[0] = 0; dp2[1] = money[1]; for (int i = 2; i 첫번째 집의 돈) dp[1] (첫번째 집을 도둑질 했기 때문에 2번째 집을 도둑질 할 수 없어서 여전히 첫번째 집의 돈이 최적해) dp[i] = Math.max(dp[i-2] + money[i], dp[i-1]); dp2[i] =..