From 9ea365d9dfa2a67df0b6d23779a1f673e4fcc652 Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Wed, 4 Dec 2024 20:59:51 +0900 Subject: [PATCH 1/9] contains-duplicate solution --- contains-duplicate/wonYeong.java | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 contains-duplicate/wonYeong.java diff --git a/contains-duplicate/wonYeong.java b/contains-duplicate/wonYeong.java new file mode 100644 index 000000000..891b28ada --- /dev/null +++ b/contains-duplicate/wonYeong.java @@ -0,0 +1,10 @@ +class Solution { + public boolean containsDuplicate(int[] nums) { + Arrays.sort(nums); + for(int i = 0; i < nums.length - 1; i++) { + if(nums[i] == nums[i+1]) + return true; + } + return false; + } +} \ No newline at end of file From 7dbf837fc29187ce548aed69cf35e2d5fff6006b Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Wed, 4 Dec 2024 21:19:11 +0900 Subject: [PATCH 2/9] :art: add newLine --- contains-duplicate/wonYeong.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contains-duplicate/wonYeong.java b/contains-duplicate/wonYeong.java index 891b28ada..dfe3f06a3 100644 --- a/contains-duplicate/wonYeong.java +++ b/contains-duplicate/wonYeong.java @@ -7,4 +7,4 @@ public boolean containsDuplicate(int[] nums) { } return false; } -} \ No newline at end of file +} From d2c0fca4a22054b2938e4cbf606e50aadbc5f5ba Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Wed, 4 Dec 2024 21:24:05 +0900 Subject: [PATCH 3/9] :bug: rename Project --- contains-duplicate/{wonYeong.java => dalpang81.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename contains-duplicate/{wonYeong.java => dalpang81.java} (100%) diff --git a/contains-duplicate/wonYeong.java b/contains-duplicate/dalpang81.java similarity index 100% rename from contains-duplicate/wonYeong.java rename to contains-duplicate/dalpang81.java From ab7172ac25a483ce95790dab980d3314edf8c3d4 Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Wed, 11 Dec 2024 21:49:18 +0900 Subject: [PATCH 4/9] :art: Valid Palindrome Solution --- valid-palindrome/dalpang81.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 valid-palindrome/dalpang81.java diff --git a/valid-palindrome/dalpang81.java b/valid-palindrome/dalpang81.java new file mode 100644 index 000000000..b373a1e07 --- /dev/null +++ b/valid-palindrome/dalpang81.java @@ -0,0 +1,12 @@ +class Solution { + public boolean isPalindrome(String s) { + s = s.toLowerCase().trim(); + s = s.replaceAll("[^a-z0-9]", ""); + + StringBuffer sb = new StringBuffer(s); + String reverse = sb.reverse().toString(); + + return(s.equals(reverse)); + + } +} \ No newline at end of file From f3abb58ab27ace1002b87e4e546b769806b5f647 Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Wed, 11 Dec 2024 21:52:46 +0900 Subject: [PATCH 5/9] :bug: add newLine --- valid-palindrome/dalpang81.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/valid-palindrome/dalpang81.java b/valid-palindrome/dalpang81.java index b373a1e07..465a3219a 100644 --- a/valid-palindrome/dalpang81.java +++ b/valid-palindrome/dalpang81.java @@ -9,4 +9,4 @@ public boolean isPalindrome(String s) { return(s.equals(reverse)); } -} \ No newline at end of file +} From d9d6dbcc201757e71f5143c388b7aebe3f9c6c8d Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Wed, 11 Dec 2024 22:58:31 +0900 Subject: [PATCH 6/9] :bug: top-k-frequent-elements Solution --- top-k-frequent-elements/dalpang81.java | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 top-k-frequent-elements/dalpang81.java diff --git a/top-k-frequent-elements/dalpang81.java b/top-k-frequent-elements/dalpang81.java new file mode 100644 index 000000000..119626f92 --- /dev/null +++ b/top-k-frequent-elements/dalpang81.java @@ -0,0 +1,30 @@ +import java.util.*; +class Solution { + public int[] topKFrequent(int[] nums, int k) { + Map map = new HashMap<>(); + + + for(int i : nums) { + map.put(i, map.getOrDefault(i,0) + 1); + } + + PriorityQueue> pq = + new PriorityQueue<>(Comparator.comparingInt(Map.Entry::getValue)); + + for (Map.Entry entry : map.entrySet()) { + pq.offer(entry); + if (pq.size() > k) { + pq.poll(); // Remove the least frequent element + } + } + + // Step 3: Extract the elements from the heap + int[] result = new int[k]; + for (int i = k - 1; i >= 0; i--) { + result[i] = pq.poll().getKey(); + } + + return result; + + } +} From ff2f60586ddb335ce908055928948d5cd8398424 Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Thu, 12 Dec 2024 20:26:02 +0900 Subject: [PATCH 7/9] :art: Longest Consecutive Sequence Solution --- longest-consecutive-sequence/dalpang81.java | 32 +++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 longest-consecutive-sequence/dalpang81.java diff --git a/longest-consecutive-sequence/dalpang81.java b/longest-consecutive-sequence/dalpang81.java new file mode 100644 index 000000000..5ef58b501 --- /dev/null +++ b/longest-consecutive-sequence/dalpang81.java @@ -0,0 +1,32 @@ +import java.util.*; + +class Solution { + public int longestConsecutive(int[] nums) { + Set numSet = new HashSet<>(); + for (int num : nums) { + numSet.add(num); + } + + int longNum = 0; + + // 각 숫자에 대해 시퀀스 시작 여부를 확인 + for (int num : numSet) { + // num-1이 없는 경우에만 시퀀스를 시작 + if (!numSet.contains(num - 1)) { + int currentNum = num; + int currentLong = 1; + + // 연속된 숫자를 탐색 + while (numSet.contains(currentNum + 1)) { + currentNum++; + currentLong++; + } + + // 가장 긴 시퀀스를 갱신 + longNum = Math.max(longNum, currentLong); + } + } + + return longNum; + } +} From 94f0b90ece54c2ee7e1152da1e9229578bd341c2 Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Thu, 12 Dec 2024 22:34:57 +0900 Subject: [PATCH 8/9] :art: House Robber Solution --- house-robber/dalpang81.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 house-robber/dalpang81.java diff --git a/house-robber/dalpang81.java b/house-robber/dalpang81.java new file mode 100644 index 000000000..1220ed06c --- /dev/null +++ b/house-robber/dalpang81.java @@ -0,0 +1,18 @@ +class Solution { + public int rob(int[] nums) { + if (nums.length == 1) { + return nums[0]; + } + + int temp2 = nums[0]; + int temp1 = Math.max(nums[0], nums[1]); + + for (int i = 2; i < nums.length; i++) { + int current = Math.max(temp1, nums[i] + temp2); + temp2 = temp1; + temp1 = current; + } + + return temp1; + } +} From 8e56bb8123387c8f0215b0186caa43fdb047e3df Mon Sep 17 00:00:00 2001 From: Dal_Peng Date: Sat, 14 Dec 2024 02:53:53 +0900 Subject: [PATCH 9/9] :art: add time complexity --- contains-duplicate/dalpang81.java | 1 + house-robber/dalpang81.java | 1 + longest-consecutive-sequence/dalpang81.java | 1 + top-k-frequent-elements/dalpang81.java | 1 + valid-palindrome/dalpang81.java | 1 + 5 files changed, 5 insertions(+) diff --git a/contains-duplicate/dalpang81.java b/contains-duplicate/dalpang81.java index dfe3f06a3..2a8269ab3 100644 --- a/contains-duplicate/dalpang81.java +++ b/contains-duplicate/dalpang81.java @@ -1,3 +1,4 @@ +//시간복잡도 : O(nlogn) class Solution { public boolean containsDuplicate(int[] nums) { Arrays.sort(nums); diff --git a/house-robber/dalpang81.java b/house-robber/dalpang81.java index 1220ed06c..e5f76b68a 100644 --- a/house-robber/dalpang81.java +++ b/house-robber/dalpang81.java @@ -1,3 +1,4 @@ +//시간복잡도 O(n) class Solution { public int rob(int[] nums) { if (nums.length == 1) { diff --git a/longest-consecutive-sequence/dalpang81.java b/longest-consecutive-sequence/dalpang81.java index 5ef58b501..d5cfa414f 100644 --- a/longest-consecutive-sequence/dalpang81.java +++ b/longest-consecutive-sequence/dalpang81.java @@ -1,3 +1,4 @@ +//시간복잡도: O(n) import java.util.*; class Solution { diff --git a/top-k-frequent-elements/dalpang81.java b/top-k-frequent-elements/dalpang81.java index 119626f92..569869398 100644 --- a/top-k-frequent-elements/dalpang81.java +++ b/top-k-frequent-elements/dalpang81.java @@ -1,3 +1,4 @@ +//시간복잡도: O(n + mlogk) import java.util.*; class Solution { public int[] topKFrequent(int[] nums, int k) { diff --git a/valid-palindrome/dalpang81.java b/valid-palindrome/dalpang81.java index 465a3219a..c2ef2bbea 100644 --- a/valid-palindrome/dalpang81.java +++ b/valid-palindrome/dalpang81.java @@ -1,3 +1,4 @@ +//시간복잡도: O(n) class Solution { public boolean isPalindrome(String s) { s = s.toLowerCase().trim();