From 26aa877fe85533b695bfc2c167e1775a7caf5772 Mon Sep 17 00:00:00 2001 From: DABIN JEONG <41@b41.kr> Date: Mon, 31 Mar 2025 00:06:03 +0900 Subject: [PATCH 1/7] solve: containsDuplicate --- contains-duplicate/b41-41.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 contains-duplicate/b41-41.ts diff --git a/contains-duplicate/b41-41.ts b/contains-duplicate/b41-41.ts new file mode 100644 index 000000000..5c7c89dd2 --- /dev/null +++ b/contains-duplicate/b41-41.ts @@ -0,0 +1,15 @@ +// nums에 중복이 있는 지 확인하는 것 +// array써서 시간 통과 못했다가 Set 객체로 변경해서 통과 +function containsDuplicate(nums: number[]): boolean { + const numSet = new Set(); + + for(let num of nums) { + if(numSet.has(num)) { + return true; + } else { + numSet.add(num); + } + } + + return false; +}; \ No newline at end of file From 0af985410e9e811b13ee54d69845fe86c638579a Mon Sep 17 00:00:00 2001 From: DABIN JEONG <41@b41.kr> Date: Tue, 1 Apr 2025 01:24:40 +0900 Subject: [PATCH 2/7] solve: twoSum --- two-sum/b41-41.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 two-sum/b41-41.ts diff --git a/two-sum/b41-41.ts b/two-sum/b41-41.ts new file mode 100644 index 000000000..762f63263 --- /dev/null +++ b/two-sum/b41-41.ts @@ -0,0 +1,27 @@ +// 1차 시도 +// function twoSum(nums: number[], target: number): number[] { +// for(const index in nums) { +// for(const index2 in nums) { +// if (index !== index2) { +// if(target === nums[index] + nums[index2]) { +// return [Number(index), Number(index2)] +// } +// } +// } +// } +// }; + +// 2차 시도 +function twoSum(nums: number[], target: number): number[] { + for (const index in nums) { + for (let index2 = Number(index) + 1; index2 < nums.length; index2++) { + if(target === nums[index] + nums[index2]) { + return [Number(index), Number(index2)] + } + } + + } + + return []; + +}; \ No newline at end of file From e15b8529f2a976f088268f1cbee6e0bbe093f7cd Mon Sep 17 00:00:00 2001 From: DABIN JEONG <41@b41.kr> Date: Tue, 1 Apr 2025 01:33:42 +0900 Subject: [PATCH 3/7] fix: add newline at end of file --- contains-duplicate/b41-41.ts | 2 +- two-sum/b41-41.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/contains-duplicate/b41-41.ts b/contains-duplicate/b41-41.ts index 5c7c89dd2..9d6935160 100644 --- a/contains-duplicate/b41-41.ts +++ b/contains-duplicate/b41-41.ts @@ -12,4 +12,4 @@ function containsDuplicate(nums: number[]): boolean { } return false; -}; \ No newline at end of file +}; diff --git a/two-sum/b41-41.ts b/two-sum/b41-41.ts index 762f63263..90c8e954b 100644 --- a/two-sum/b41-41.ts +++ b/two-sum/b41-41.ts @@ -23,5 +23,4 @@ function twoSum(nums: number[], target: number): number[] { } return []; - -}; \ No newline at end of file +}; From 88cb348ec314913dead5fb38e8656f928617ad5a Mon Sep 17 00:00:00 2001 From: DABIN JEONG <41@b41.kr> Date: Wed, 2 Apr 2025 21:11:30 +0900 Subject: [PATCH 4/7] resolve: topKFrequentElements --- top-k-frequent-elements/b41-41.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 top-k-frequent-elements/b41-41.ts diff --git a/top-k-frequent-elements/b41-41.ts b/top-k-frequent-elements/b41-41.ts new file mode 100644 index 000000000..7040b710f --- /dev/null +++ b/top-k-frequent-elements/b41-41.ts @@ -0,0 +1,17 @@ +function topKFrequent(nums: number[], k: number): number[] { + const numMap = new Map(); + + for (let num of nums) { + if(!numMap.has(num)) { + numMap.set(num, 1); + } else { + const count = Number(numMap.get(num)) || 0; + numMap.set(num, count + 1); + } + } + + const result = [...numMap].sort((a, b) => b[1] - a[1]).map((num) => num[0]).slice(0, k); + + + return result; +}; \ No newline at end of file From efcbc1a0906c33f3aeeff08c32e56eae68113c6c Mon Sep 17 00:00:00 2001 From: DABIN JEONG <41@b41.kr> Date: Fri, 4 Apr 2025 02:31:09 +0900 Subject: [PATCH 5/7] resolve: longestConsecutiveSequence --- longest-consecutive-sequence/b41-41.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 longest-consecutive-sequence/b41-41.ts diff --git a/longest-consecutive-sequence/b41-41.ts b/longest-consecutive-sequence/b41-41.ts new file mode 100644 index 000000000..0d7e67250 --- /dev/null +++ b/longest-consecutive-sequence/b41-41.ts @@ -0,0 +1,24 @@ +function longestConsecutive(nums: number[]): number { + const sortedNums = [...new Set(nums.sort((a, b) => a - b))]; + const numSet = new Set(); + + let dummy: number[] = []; + + for (let i: number = 0; i < sortedNums.length; i++) { + const isConsecutiveSequence = sortedNums[i + 1] - sortedNums[i] === 1; + const num = sortedNums[i]; + + if(!isConsecutiveSequence) { + dummy.push(num) + numSet.add(dummy.length); + dummy = []; + } else { + dummy.push(num); + } + } + + numSet.add(dummy.length); + + const result = [...numSet].sort((a, b) => Number(b) - Number(a)) as number[]; + return result[0] || 0; +} \ No newline at end of file From 88858bafd12d13b40474c086763e0ae59a18e3c7 Mon Sep 17 00:00:00 2001 From: DABIN JEONG <41@b41.kr> Date: Fri, 4 Apr 2025 02:31:57 +0900 Subject: [PATCH 6/7] fix: add newline at end of file --- longest-consecutive-sequence/b41-41.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/longest-consecutive-sequence/b41-41.ts b/longest-consecutive-sequence/b41-41.ts index 0d7e67250..26d008f68 100644 --- a/longest-consecutive-sequence/b41-41.ts +++ b/longest-consecutive-sequence/b41-41.ts @@ -21,4 +21,4 @@ function longestConsecutive(nums: number[]): number { const result = [...numSet].sort((a, b) => Number(b) - Number(a)) as number[]; return result[0] || 0; -} \ No newline at end of file +} From c4e76c6389fd3d73ca5f4709de5eb33a257d20a0 Mon Sep 17 00:00:00 2001 From: DABIN JEONG <41@b41.kr> Date: Sat, 5 Apr 2025 00:22:28 +0900 Subject: [PATCH 7/7] fix: add newline at end of file --- top-k-frequent-elements/b41-41.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/top-k-frequent-elements/b41-41.ts b/top-k-frequent-elements/b41-41.ts index 7040b710f..231983557 100644 --- a/top-k-frequent-elements/b41-41.ts +++ b/top-k-frequent-elements/b41-41.ts @@ -14,4 +14,4 @@ function topKFrequent(nums: number[], k: number): number[] { return result; -}; \ No newline at end of file +};