JAVA_LeetCode 396_Rotate Function 풀이 class Solution { public int maxRotateFunction(int[] nums) { int len = nums.length, sum = 0, temp = 0, max = 0; for(int i = 0; i < len; i++){ sum += nums[i]; temp += i * nums[i]; } max = temp; // 점화식 for(int i = 1; i < len; i++){ temp = temp + sum - len * nums[len - i]; max = Math.max(max, temp); } return max; } } 점화식 : 이전 회전값 + 전체 증가분 - 맨 앞으로 이동한 값의 인덱스 초기화 비용 맨 뒤 → 맨 앞으로 이동 시 0과 곱해지고, 해당 값은 0 맨 뒤 값(len * nums[마지막 인덱스])을 temp에서 빼야 실제 0이 적용 현재 점수(이전 회전 값)에서 모든...