From cad13857a96293708edd5529d860dceae496f32f Mon Sep 17 00:00:00 2001 From: Gordon Choi Date: Tue, 11 Nov 2025 00:08:02 +0900 Subject: [PATCH 1/5] contains duplicate solution --- contains-duplicate/radiantchoi.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 contains-duplicate/radiantchoi.swift diff --git a/contains-duplicate/radiantchoi.swift b/contains-duplicate/radiantchoi.swift new file mode 100644 index 0000000000..49eb29b32f --- /dev/null +++ b/contains-duplicate/radiantchoi.swift @@ -0,0 +1,15 @@ +class Solution { + func containsDuplicate(_ nums: [Int]) -> Bool { + var occurences = [Int: Bool]() + + for num in nums { + if let occurs = occurences[num] { + return occurs + } else { + occurences[num] = true + } + } + + return false + } +} From 18bebfac471ba7617d595229cef7bc820857dee3 Mon Sep 17 00:00:00 2001 From: Gordon Choi Date: Tue, 11 Nov 2025 15:59:21 +0900 Subject: [PATCH 2/5] two sum solution --- two-sum/radiantchoi.swift | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 two-sum/radiantchoi.swift diff --git a/two-sum/radiantchoi.swift b/two-sum/radiantchoi.swift new file mode 100644 index 0000000000..ceb066d671 --- /dev/null +++ b/two-sum/radiantchoi.swift @@ -0,0 +1,26 @@ +class Solution { + func twoSum(_ nums: [Int], _ target: Int) -> [Int] { + let nums = nums.enumerated().sorted { $0.1 < $1.1 } + + for (index, num) in nums { + let newTarget = target - num + + var left = 0 + var right = nums.count - 1 + + while left <= right { + let mid = (left + right) / 2 + + if nums[mid].1 == newTarget && nums[mid].0 != index { + return [index, nums[mid].0] + } else if nums[mid].1 < newTarget { + left = mid + 1 + } else { + right = mid - 1 + } + } + } + + return [0, 1] + } +} \ No newline at end of file From 84d8fe6af38b90d5a792c4f6c67b3a11dfb4880d Mon Sep 17 00:00:00 2001 From: Gordon Choi Date: Tue, 11 Nov 2025 16:00:02 +0900 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20two=20sum=20soluition=20=EA=B0=9C?= =?UTF-8?q?=ED=96=89=20=EB=AC=B8=EC=9E=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- two-sum/radiantchoi.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/two-sum/radiantchoi.swift b/two-sum/radiantchoi.swift index ceb066d671..0f801e86d4 100644 --- a/two-sum/radiantchoi.swift +++ b/two-sum/radiantchoi.swift @@ -23,4 +23,4 @@ class Solution { return [0, 1] } -} \ No newline at end of file +} From 51cd76c3d7afe58ca02e4df39c0c7d722d864c1d Mon Sep 17 00:00:00 2001 From: Gordon Choi Date: Wed, 12 Nov 2025 16:05:20 +0900 Subject: [PATCH 4/5] top k frequent elements solution --- top-k-frequent-elements/radiantchoi.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 top-k-frequent-elements/radiantchoi.swift diff --git a/top-k-frequent-elements/radiantchoi.swift b/top-k-frequent-elements/radiantchoi.swift new file mode 100644 index 0000000000..aeefba101f --- /dev/null +++ b/top-k-frequent-elements/radiantchoi.swift @@ -0,0 +1,17 @@ +class Solution { + func topKFrequent(_ nums: [Int], _ k: Int) -> [Int] { + var occurences = [Int: Int]() + + for num in nums { + if let occurence = occurences[num] { + occurences[num] = occurence + 1 + } else { + occurences[num] = 1 + } + } + + let numbers = occurences.keys.sorted { occurences[$0] ?? 0 > occurences[$1] ?? 0 } + + return Array(numbers[0.. Date: Fri, 14 Nov 2025 18:58:06 +0900 Subject: [PATCH 5/5] house robber solution --- house-robber/radiantchoi.swift | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 house-robber/radiantchoi.swift diff --git a/house-robber/radiantchoi.swift b/house-robber/radiantchoi.swift new file mode 100644 index 0000000000..3624b564f8 --- /dev/null +++ b/house-robber/radiantchoi.swift @@ -0,0 +1,20 @@ +class Solution { + func rob(_ nums: [Int]) -> Int { + if nums.count < 3 { + return nums.max()! + } + + var expected = [Int]() + expected.append(nums[0]) + expected.append(max(nums[0], nums[1])) + + for i in 2..