From a47bf908ecb7728d4a2055bb7384e0980bccc8ca Mon Sep 17 00:00:00 2001 From: xeulbn Date: Fri, 26 Jun 2026 16:45:34 +0900 Subject: [PATCH 1/4] week1 study --- contains-duplicate/xeulbn.java | 15 +++++ house-robber/xeulbn.java | 21 ++++++ leetcode-study.iml | 85 ++++++++++++++++++++++++ longest-consecutive-sequence/xeulbn.java | 29 ++++++++ top-k-frequent-elements/xeulbn.java | 31 +++++++++ two-sum/xeulbn.java | 17 +++++ 6 files changed, 198 insertions(+) create mode 100644 contains-duplicate/xeulbn.java create mode 100644 house-robber/xeulbn.java create mode 100644 leetcode-study.iml create mode 100644 longest-consecutive-sequence/xeulbn.java create mode 100644 top-k-frequent-elements/xeulbn.java create mode 100644 two-sum/xeulbn.java diff --git a/contains-duplicate/xeulbn.java b/contains-duplicate/xeulbn.java new file mode 100644 index 0000000000..036806e66a --- /dev/null +++ b/contains-duplicate/xeulbn.java @@ -0,0 +1,15 @@ +import java.util.*; + +class Solution { + public boolean containsDuplicate(int[] nums) { + Set numberCheck = new HashSet<>(); + + for(int num : nums){ + if(numberCheck.contains(num)){ + return true; + } + numberCheck.add(num); + } + return false; + } +} diff --git a/house-robber/xeulbn.java b/house-robber/xeulbn.java new file mode 100644 index 0000000000..4fa67c4ec5 --- /dev/null +++ b/house-robber/xeulbn.java @@ -0,0 +1,21 @@ +import java.util.*; + +class Solution { + + public int rob(int[] nums) { + if (nums.length == 1) { + return nums[0]; + } + + int[] dp = new int[nums.length]; + + dp[0] = nums[0]; + dp[1] = Math.max(nums[0], nums[1]); + + for (int i = 2; i < nums.length; i++) { + dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]); + } + + return dp[nums.length - 1]; + } +} diff --git a/leetcode-study.iml b/leetcode-study.iml new file mode 100644 index 0000000000..5ea48dee00 --- /dev/null +++ b/leetcode-study.iml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/longest-consecutive-sequence/xeulbn.java b/longest-consecutive-sequence/xeulbn.java new file mode 100644 index 0000000000..06ac6ed79c --- /dev/null +++ b/longest-consecutive-sequence/xeulbn.java @@ -0,0 +1,29 @@ +import java.util.*; + +class Solution { + public int longestConsecutive(int[] nums) { + Set set = new HashSet<>(); + + for (int num : nums) { + set.add(num); + } + + int maxLength = 0; + + for (int num : set) { + if (!set.contains(num - 1)) { + int currentNum = num; + int currentLength = 1; + + while (set.contains(currentNum + 1)) { + currentNum++; + currentLength++; + } + + maxLength = Math.max(maxLength, currentLength); + } + } + + return maxLength; + } +} diff --git a/top-k-frequent-elements/xeulbn.java b/top-k-frequent-elements/xeulbn.java new file mode 100644 index 0000000000..323e6d1f92 --- /dev/null +++ b/top-k-frequent-elements/xeulbn.java @@ -0,0 +1,31 @@ +import java.util.*; + +class Solution { + public int[] topKFrequent(int[] nums, int k) { + Map countMap = new HashMap<>(); + + for(int i=0;i pq = new PriorityQueue<>( + (a,b)-> countMap.get(a) - countMap.get(b) + ); + + for(int num: countMap.keySet()){ + pq.offer(num); + + if(pq.size()>k){ + pq.poll(); + } + } + + int[] answer = new int[k]; + + for (int i = 0; i < k; i++) { + answer[i] = pq.poll(); + } + + return answer; + + } +} diff --git a/two-sum/xeulbn.java b/two-sum/xeulbn.java new file mode 100644 index 0000000000..c629dd8eb2 --- /dev/null +++ b/two-sum/xeulbn.java @@ -0,0 +1,17 @@ +import java.util.*; + +class Solution { + public int[] twoSum(int[] nums, int target) { + Map numIndexMap = new HashMap<>(); + + for (int i=0; i Date: Fri, 26 Jun 2026 16:47:11 +0900 Subject: [PATCH 2/4] remove IntelliJ project file --- leetcode-study.iml | 85 ---------------------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 leetcode-study.iml diff --git a/leetcode-study.iml b/leetcode-study.iml deleted file mode 100644 index 5ea48dee00..0000000000 --- a/leetcode-study.iml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 82d29e25d81e68c7d21d1f78508cdb05ee782755 Mon Sep 17 00:00:00 2001 From: xeulbn Date: Thu, 2 Jul 2026 15:52:10 +0900 Subject: [PATCH 3/4] add week2 algorithm solutions --- .gitignore | 1 + 3sum/xeulbn.java | 52 ++++++++++++++++++++++++ climbing-stairs/xeulbn.java | 23 +++++++++++ product-of-array-except-self/xeulbn.java | 23 +++++++++++ valid-anagram/xeulbn.java | 33 +++++++++++++++ validate-binary-search-tree/xeulbn.java | 39 ++++++++++++++++++ 6 files changed, 171 insertions(+) create mode 100644 3sum/xeulbn.java create mode 100644 climbing-stairs/xeulbn.java create mode 100644 product-of-array-except-self/xeulbn.java create mode 100644 valid-anagram/xeulbn.java create mode 100644 validate-binary-search-tree/xeulbn.java diff --git a/.gitignore b/.gitignore index d2a36c905a..33091e9e00 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .vscode/ .DS_Store .env +*.iml diff --git a/3sum/xeulbn.java b/3sum/xeulbn.java new file mode 100644 index 0000000000..3e29a38f67 --- /dev/null +++ b/3sum/xeulbn.java @@ -0,0 +1,52 @@ +import java.util.*; + +//시간복잡도 : O(n^2), 공간복잡도 : O(nlogn) + +class Solution { + public List> threeSum(int[] nums) { + + Arrays.sort(nums); + List> answer = new ArrayList<>(); + + for(int i=0;i0 && nums[i] == nums[i-1]) { + continue; + } + int leftIndex = i+1; + int rightIndex = nums.length-1; + + while(leftIndex tmpList = new ArrayList<>(); + tmpList.add(nums[i]); + tmpList.add(nums[leftIndex]); + tmpList.add(nums[rightIndex]); + + answer.add(tmpList); + + // left++, right-- + leftIndex+=1; + rightIndex-=1; + + // 중복 제거 + while(leftIndex= 0; i--) { + answer[i] = answer[i] * suffix; + suffix *= nums[i]; + } + + return answer; + } +} diff --git a/valid-anagram/xeulbn.java b/valid-anagram/xeulbn.java new file mode 100644 index 0000000000..38b3757414 --- /dev/null +++ b/valid-anagram/xeulbn.java @@ -0,0 +1,33 @@ +import java.util.*; + +// 시간복잡도 : O(n), 공간복잡도 : O(n) + +class Solution { + public boolean isAnagram(String s, String t) { + + if(s.length()!=t.length()){ + return false; + } + + Map characterMap = new HashMap<>(); + + for(int i=0;i= max) { + return false; + } + + return validate(node.left, min, node.val) && validate(node.right, node.val, max); + } +} From 4b375b9376b9c17bd3eaba9d5f3b9fdb047ade49 Mon Sep 17 00:00:00 2001 From: xeulbn Date: Thu, 2 Jul 2026 16:08:21 +0900 Subject: [PATCH 4/4] restore gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 33091e9e00..d2a36c905a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,3 @@ .vscode/ .DS_Store .env -*.iml