-
-
Notifications
You must be signed in to change notification settings - Fork 247
[Jeehay Park(박지혜)] Week 1 #640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
f56e213
contains-duplicate solution
Jeehay28 4a49e74
valid-palindrome solution
Jeehay28 15c9c08
top-k-frequent-elements solution
Jeehay28 2e0a8fe
longest-consecutive-sequence solution
Jeehay28 45a049d
Add valid-anagram solution
Jeehay28 92dd605
Revert "Add valid-anagram solution"
Jeehay28 f5ef578
Add house-robber solution
Jeehay28 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
/** | ||
* @param {number[]} nums | ||
* @return {boolean} | ||
*/ | ||
var containsDuplicate = function (nums) { | ||
return nums.length !== new Set(nums).size; | ||
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/** | ||
* @param {number[]} nums | ||
* @return {number} | ||
*/ | ||
|
||
// Bottom-Up DP (with constant space) 방식 | ||
|
||
// 시간 복잡도 (Time Complexity) | ||
// O(n) — 입력 배열의 크기에 비례하여 수행 시간이 증가 | ||
|
||
// 공간 복잡도 (Space Complexity) | ||
// O(1) — 입력 크기에 관계없이 사용하는 메모리 공간이 일정 | ||
|
||
|
||
var rob = function (nums) { | ||
|
||
if (nums.length === 1) { | ||
return nums[0]; | ||
} | ||
|
||
let robbed_2 = nums[0]; | ||
let robbed_1 = Math.max(nums[0], nums[1]); | ||
|
||
for (let i = 2; i < nums.length; i++) { | ||
|
||
const temp = robbed_1; | ||
|
||
robbed_1 = Math.max(robbed_1, robbed_2 + nums[i]); | ||
|
||
robbed_2 = temp; | ||
|
||
} | ||
|
||
return robbed_1; | ||
|
||
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/** | ||
* @param {number[]} nums | ||
* @return {number} | ||
*/ | ||
var longestConsecutive = function (nums) { | ||
let result = []; | ||
let longest = []; | ||
|
||
numsSorted = nums.sort((a, b) => a - b); | ||
|
||
numsFiltered = [...new Set(numsSorted)]; | ||
|
||
for (let i = 0; i < numsFiltered.length; i++) { | ||
if (result.length === 0) { | ||
result.push(numsFiltered[i]); | ||
} else if (result.length >= 1) { | ||
if (numsFiltered[i] === result[result.length - 1] + 1) { | ||
result.push(numsFiltered[i]); | ||
} else { | ||
longest.push(result.length); | ||
result = [numsFiltered[i]]; | ||
} | ||
} | ||
} | ||
|
||
if (longest.length === 0) { | ||
return result.length; | ||
} else { | ||
return Math.max(Math.max(...longest), result.length); | ||
} | ||
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/** | ||
* @param {number[]} nums | ||
* @param {number} k | ||
* @return {number[]} | ||
*/ | ||
var topKFrequent = function (nums, k) { | ||
let result = []; | ||
|
||
const obj = nums.reduce((acc, cur) => { | ||
acc[cur] = (acc[cur] || 0) + 1; | ||
return acc; | ||
}, {}); | ||
|
||
const frequentValues = Object.values(obj) | ||
.sort((a, b) => b - a) | ||
.slice(0, k); | ||
|
||
for (const [key, value] of Object.entries(obj)) { | ||
if (frequentValues.includes(value)) { | ||
result.push(parseInt(key)); | ||
} | ||
} | ||
|
||
return result; | ||
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/** | ||
* @param {string} s | ||
* @return {boolean} | ||
*/ | ||
var isPalindrome = function (s) { | ||
const reg = /[a-z0-9]/g; | ||
const converted = s.toLowerCase().match(reg); | ||
|
||
if (converted === null) { | ||
return true; | ||
} else { | ||
const forward = converted.join(""); | ||
const backward = converted.reverse().join(""); | ||
|
||
return forward === backward; | ||
} | ||
}; |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
upper case도 정규식에 포함하면 논리의 흐름이 더 좋을 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
리뷰 감사합니당~