diff --git "a/leetcode2/2medium/\352\271\200\353\217\204\354\227\260/Q2012.java" "b/leetcode2/2medium/\352\271\200\353\217\204\354\227\260/Q2012.java" new file mode 100644 index 00000000..19294915 --- /dev/null +++ "b/leetcode2/2medium/\352\271\200\353\217\204\354\227\260/Q2012.java" @@ -0,0 +1,26 @@ +package Leetcode.김도연; + +public class Q2012 { + public int sumOfBeauties(int[] nums) { + int n = nums.length; + int[] rightMin = new int[n]; + rightMin[n-1] = nums[n-1]; + + // 오른쪽 최소값 전처리 + for (int i = n - 2; i > 0; i--) { + rightMin[i] = Math.min(rightMin[i+1], nums[i]); + } + + int ans = 0; + int leftMax = nums[0]; + for (int i = 1; i < n - 1; i++) { + if (leftMax < nums[i] && nums[i] < rightMin[i + 1]) + ans += 2; + else if (nums[i - 1] < nums[i] && nums[i] < nums[i + 1]) + ans += 1; + + leftMax = Math.max(leftMax, nums[i]); + } + return ans; + } +} \ No newline at end of file