From 5dfb5c36c08cd929893c6adc689b06a9820037eb Mon Sep 17 00:00:00 2001 From: Jinyoung Jeong <80400463+jyoung2419@users.noreply.github.com> Date: Wed, 28 Oct 2026 17:55:56 +0900 Subject: [PATCH] Create 4083. Minimum Deletions to Make Array Sharp --- ...83. Minimum Deletions to Make Array Sharp" | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 "leetcode3/\354\240\225\354\247\204\354\230\201/4083. Minimum Deletions to Make Array Sharp" diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/4083. Minimum Deletions to Make Array Sharp" "b/leetcode3/\354\240\225\354\247\204\354\230\201/4083. Minimum Deletions to Make Array Sharp" new file mode 100644 index 00000000..c48ed2d1 --- /dev/null +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/4083. Minimum Deletions to Make Array Sharp" @@ -0,0 +1,27 @@ +/** + * @param {number[]} nums + * @return {number} + */ +var minDeletions = function(nums) { + /* + sharp 조건 : a[i] ^ a[i+1] !== 0 + 1. 아이디어 + - for 문을 돌면서 nums 원소 하나씩 확인 + - arr 마지막 원소와 nums[i] 비교 + - if XOR == 0 이면 push 안함 + - XOR != 0 이면 nums[i] push + - nums.length - 해당 배열의 length + */ + + let arr = []; + + for (let i = 0; i < nums.length; i++) { + if (arr.length == 0) { + arr.push(nums[i]); + } else if ((arr[arr.length - 1] ^ nums[i]) != 0) { + arr.push(nums[i]); + } + + } + return (nums.length - arr.length); +};