From c180dfafc568bdacd4c1c25893f11ebc9716ede2 Mon Sep 17 00:00:00 2001 From: 724thomas <724thomas@gmail.com> Date: Thu, 10 Jul 2025 10:19:19 +0900 Subject: [PATCH] =?UTF-8?q?[=EC=B5=9C=EC=9B=90=EC=A4=80]=20Day09?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Q3396.java" | 40 ++++++++++++++++ .../Q1824.java" | 48 +++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 "leetcode2/1easy/\354\265\234\354\233\220\354\244\200/Q3396.java" create mode 100644 "leetcode2/2medium/\354\265\234\354\233\220\354\244\200/Q1824.java" diff --git "a/leetcode2/1easy/\354\265\234\354\233\220\354\244\200/Q3396.java" "b/leetcode2/1easy/\354\265\234\354\233\220\354\244\200/Q3396.java" new file mode 100644 index 00000000..41da0d13 --- /dev/null +++ "b/leetcode2/1easy/\354\265\234\354\233\220\354\244\200/Q3396.java" @@ -0,0 +1,40 @@ +package Leetcode.최원준; + +/* +1. 아이디어 : + + +2. 시간복잡도 : +O( ) + +3. 자료구조/알고리즘 : + + */ + +import java.util.HashMap; +import java.util.Map; + +public class Q3396 { + class Solution { + public int minimumOperations(int[] nums) { + int removeIdx = 0, checkIdx = nums.length-1; + int ans = 0; + Map counter = new HashMap<>(); + for (int num : nums) counter.put(num, counter.getOrDefault(num, 0)+1); + + while (removeIdx < checkIdx) { + int check = nums[checkIdx]; + while (counter.get(check) > 1) { + for (int i = 0; i<3; i++) { + if (removeIdx == nums.length) continue; + int remove = nums[removeIdx++]; + counter.put(remove, counter.getOrDefault(remove, 0)-1); + } + ans++; + } + checkIdx--; + } + return ans; + } + } +} diff --git "a/leetcode2/2medium/\354\265\234\354\233\220\354\244\200/Q1824.java" "b/leetcode2/2medium/\354\265\234\354\233\220\354\244\200/Q1824.java" new file mode 100644 index 00000000..06e920c2 --- /dev/null +++ "b/leetcode2/2medium/\354\265\234\354\233\220\354\244\200/Q1824.java" @@ -0,0 +1,48 @@ +package Leetcode.최원준; + +/* +1. 아이디어 : + + +2. 시간복잡도 : +O( ) + +3. 자료구조/알고리즘 : + + */ + +import java.util.Arrays; + +public class Q1824 { + class Solution { + + public int minSideJumps(int[] obstacles) { + int n = obstacles.length; + int[][] dp = new int[n][3]; //i번쨰 포인트, j번째 레인에 도착했을떄의 최소 점프 + + for (int i=0; i