From 7e87bc426d2907b1f1bdb43d0cd4a408b92002e0 Mon Sep 17 00:00:00 2001 From: JeonBeomGu-S Date: Mon, 9 Nov 2026 23:54:02 -0500 Subject: [PATCH 1/5] contains duplicate solution --- contains-duplicate/JeonBeomGu.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 contains-duplicate/JeonBeomGu.java diff --git a/contains-duplicate/JeonBeomGu.java b/contains-duplicate/JeonBeomGu.java new file mode 100644 index 0000000000..36f3e90b02 --- /dev/null +++ b/contains-duplicate/JeonBeomGu.java @@ -0,0 +1,21 @@ +import java.util.HashSet; +import java.util.Set; + +/** + * 시간 복잡도: O(n) - nums 배열 길이인 n번 만큼 반복문이 반복될 수 있음 + * 공간 복잡도: O(n) - set에 데이터를 저장할 때 nums 배열 길이인 n개의 공간만큼 추가 공간이 필요 + */ +public class Solution { + public boolean containsDuplicate(int[] nums) { + Set set = new HashSet<>(); + for (int i = 0; i < nums.length; i++) { + if (set.contains(nums[i])) { + return true; + } else { + set.add(nums[i]); + } + } + + return false; + } +} From abcd43796102d423054464e974356739fb5a2ae2 Mon Sep 17 00:00:00 2001 From: JeonBeomGu-S Date: Wed, 11 Nov 2026 15:01:50 -0500 Subject: [PATCH 2/5] two-sum solution --- two-sum/JeonBeomGu-S.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 two-sum/JeonBeomGu-S.java diff --git a/two-sum/JeonBeomGu-S.java b/two-sum/JeonBeomGu-S.java new file mode 100644 index 0000000000..1fcf04b023 --- /dev/null +++ b/two-sum/JeonBeomGu-S.java @@ -0,0 +1,27 @@ +import java.util.HashMap; +import java.util.Map; + +/** + 시간 복잡도: O(n) - 최대 배열의 길이 n만큼 반복 + 공간 복잡도: O(n) - 최대 배열의 길이 n만큼의 map 크기 사용 + */ +class Solution { + public int[] twoSum(int[] nums, int target) { + Map map = new HashMap<>(); + int[] answer = new int[2]; + + for (int i = 0; i < nums.length; i++) { + if (map.containsKey(target - nums[i])) { + answer[0] = map.get(target - nums[i]); + answer[1] = i; + // 찾은 경우 바로 return + return answer; + } else { + map.put(nums[i], i); + } + } + + // 못 찾은 경우 null + return null; + } +} \ No newline at end of file From 00e0bc0ee91cbe1b8a2224622d37cfba6665fc0f Mon Sep 17 00:00:00 2001 From: JeonBeomGu-S Date: Wed, 11 Nov 2026 15:11:01 -0500 Subject: [PATCH 3/5] rename the contains-duplicate solution file name --- contains-duplicate/{JeonBeomGu.java => JeonBeomGu-S.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename contains-duplicate/{JeonBeomGu.java => JeonBeomGu-S.java} (100%) diff --git a/contains-duplicate/JeonBeomGu.java b/contains-duplicate/JeonBeomGu-S.java similarity index 100% rename from contains-duplicate/JeonBeomGu.java rename to contains-duplicate/JeonBeomGu-S.java From c9cb065ba76c1d23246c4dd28931380e52fb9ed2 Mon Sep 17 00:00:00 2001 From: JeonBeomGu-S Date: Fri, 13 Nov 2026 23:56:30 -0500 Subject: [PATCH 4/5] top-k-frequent-elements solution --- top-k-frequent-elements/JeonBeomGu-S.java | 33 +++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 top-k-frequent-elements/JeonBeomGu-S.java diff --git a/top-k-frequent-elements/JeonBeomGu-S.java b/top-k-frequent-elements/JeonBeomGu-S.java new file mode 100644 index 0000000000..fa7c810092 --- /dev/null +++ b/top-k-frequent-elements/JeonBeomGu-S.java @@ -0,0 +1,33 @@ +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 시간 복잡도: O(nlogn) - 배열의 길이 n 만큼 반복문과 정렬 + * 공간 복잡도: O(n) - 배열의 길이 n 만큼의 맵, 리스트와 답을 저장할 배열의 크기 k + * k는 최대 n을 넘지 못하므로 무시 + */ + +class Solution { + public int[] topKFrequent(int[] nums, int k) { + Map map = new HashMap(); + for (int num : nums) { + if (map.containsKey(num)) { + map.put(num, map.get(num) + 1); + } else { + map.put(num, 1); + } + } + + List list = new ArrayList<>(map.keySet()); + list.sort((a, b) -> map.get(b) - map.get(a)); + + int[] answer = new int[k]; + for (int i = 0; i < k; i++) { + answer[i] = list.get(i); + } + + return answer; + } +} From 4e5fcc37e6442144d4084955e61128e202d751de Mon Sep 17 00:00:00 2001 From: JeonBeomGu-S Date: Sat, 14 Nov 2026 00:12:49 -0500 Subject: [PATCH 5/5] add line at the end of file for lint check --- two-sum/JeonBeomGu-S.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/two-sum/JeonBeomGu-S.java b/two-sum/JeonBeomGu-S.java index 1fcf04b023..5aceb434f9 100644 --- a/two-sum/JeonBeomGu-S.java +++ b/two-sum/JeonBeomGu-S.java @@ -24,4 +24,4 @@ public int[] twoSum(int[] nums, int target) { // 못 찾은 경우 null return null; } -} \ No newline at end of file +}