Skip to content

Commit 48af815

Browse files
authored
Merge branch 'DaleStudy:main' into main
2 parents 964de64 + b6649b8 commit 48af815

File tree

108 files changed

+3196
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+3196
-4
lines changed

โ€Ž.github/labeler.ymlโ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,8 @@ elixir:
5252
- changed-files:
5353
- any-glob-to-any-file:
5454
- "**/*.exs"
55+
56+
rust:
57+
- changed-files:
58+
- any-glob-to-any-file:
59+
- "**/*.rs"
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
## ๋‹ต์•ˆ ์ œ์ถœ ๋ฌธ์ œ
22

33
<!--
4-
์ž์‹ ์˜ ์ˆ˜์ค€์ด๋‚˜ ์ผ์ •์— ๋งž๊ฒŒ ๊ธˆ์ฃผ์— ํ‘ธ์‹œ๊ธฐ๋กœ ์ •ํ•œ ๋ฌธ์ œ๋“ค๋งŒ ๋‚˜์—ดํ•ด์ฃผ์„ธ์š”.
5-
์ฝ”๋“œ ๊ฒ€ํ† ์ž๋“ค์ด PR ์Šน์ธ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ๋•Œ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
4+
์ž์‹ ์˜ ์ˆ˜์ค€์ด๋‚˜ ์ผ์ •์— ๋งž๊ฒŒ ๐Ÿ‘‰๊ธˆ์ฃผ์— ํ‘ธ์‹œ๊ธฐ๋กœ ์ •ํ•œ ๋ฌธ์ œ๋“ค๐Ÿ‘ˆ๋งŒ ๋‚˜์—ดํ•ด์ฃผ์„ธ์š”.
5+
๋ฆฌ๋ทฐ์–ด๋“ค์ด ๊ฒ€ํ† ์™€ PR ์Šน์ธ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ๋•Œ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
66
-->
77

88
- [ ] ๋ฌธ์ œ 1
99
- [ ] ๋ฌธ์ œ 2
1010
- [ ] ๋ฌธ์ œ 3
11+
<!-- - [ ] ๋ฌธ์ œ 4 ํ’€๊ณ ์‹ถ์ง€ ์•Š์€ ๋ฌธ์ œ๋Š” ์ด๋ ‡๊ฒŒ ์ฃผ์„์ฒ˜๋ฆฌ ํ•ด ์ฃผ์…”๋„ ์ข‹์•„์š” -->
1112

1213
## ์ฒดํฌ ๋ฆฌ์ŠคํŠธ
1314

14-
- [ ] PR์„ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜๊ณ  Week๋ฅผ ํ˜„์žฌ ์ฃผ์ฐจ๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.
15+
- [ ] ์šฐ์ธก ๋ฉ”๋‰ด์—์„œ PR์„ **Projects**์— ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
16+
- [ ] **Projects**์˜ ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ(โ–ผ)์„ ๋ˆŒ๋Ÿฌ ํ™•์žฅํ•œ ๋’ค, **Week**๋ฅผ ํ˜„์žฌ ์ฃผ์ฐจ๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.
1517
- [ ] ๋ฐ”๋กœ ์•ž์— PR์„ ์—ด์–ด์ฃผ์‹  ๋ถ„์„ ์ฝ”๋“œ ๊ฒ€ํ† ์ž๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”.
16-
- [ ] ๋ฌธ์ œ๋ฅผ ๋ชจ๋‘ ํ‘ธ์‹œ๋ฉด ํ”„๋กœ์ ํŠธ์—์„œ Status๋ฅผ `In Review`๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.
18+
- [ ] ๋ฌธ์ œ๋ฅผ ๋ชจ๋‘ ํ‘ธ์‹œ๋ฉด ํ”„๋กœ์ ํŠธ์—์„œ **Status**๋ฅผ `In Review`๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.
1719
- [ ] ์ฝ”๋“œ ๊ฒ€ํ† ์ž 1๋ถ„ ์ด์ƒ์œผ๋กœ๋ถ€ํ„ฐ ์Šน์ธ์„ ๋ฐ›์œผ์…จ๋‹ค๋ฉด PR์„ ๋ณ‘ํ•ฉํ•ด์ฃผ์„ธ์š”.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
3+
'''
4+
ํ’€์ด:
5+
์ค‘๋ณต๋œ ์š”์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ์ฐพ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
6+
7+
hash set ์œผ๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ 
8+
๊ธฐ์กด nums ์˜ ๊ธธ์ด์™€ ์ค‘๋ณต ์ œ๊ฑฐ๋œ nums_set ์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์€์ง€ return ํ–ˆ์Šต๋‹ˆ๋‹ค.
9+
10+
์‹œ๊ฐ„ ๋ณต์žก๋„:
11+
O(n) - has set ์„ ๋งŒ๋“œ๋Š” ์‹œ๊ฐ„
12+
13+
๊ณต๊ฐ„ ๋ณต์žก๋„:
14+
O(n) - n๊ฐœ์˜ ์š”์†Œ๋ฅผ set์— ๋‹ด๊ธฐ ๋•Œ๋ฌธ
15+
'''
16+
17+
18+
class Solution:
19+
def containsDuplicate(self, nums: List[int]) -> bool:
20+
nums_set = set(nums)
21+
return len(nums_set) != len(nums)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package leetcode_study
2+
3+
/**
4+
* Set ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ ํ›„ ์›์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•ด ๋ฌธ์ œ ํ•ด๊ฒฐ
5+
* ์‹œ๊ฐ„ ๋ณต์žก๋„ : O(n)
6+
* -> ๋ชจ๋“  Array์˜ ์›์†Œ๋ฅผ ์ˆœํšŒํ•ด์•ผํ•จ.
7+
* ๊ณต๊ฐ„ ๋ณต์žก๋„ : O(n)
8+
* -> IntArray์˜ ์š”์†Œ ๊ฐœ์ˆ˜์— ๋น„๋ก€ํ•˜์—ฌ ์ถ”๊ฐ€์ ์ธ ๊ณต๊ฐ„์ด ํ•„์š”ํ•จ.
9+
*/
10+
fun containsDuplicate(nums: IntArray): Boolean {
11+
val changeSet = nums.toSet()
12+
return changeSet.size != nums.size
13+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import java.util.Arrays;
2+
import java.util.stream.Collectors;
3+
4+
class Solution {
5+
public boolean containsDuplicate(int[] nums) {
6+
/***
7+
compare length of array and length of set.
8+
O(n) given that n is length of array nums
9+
*/
10+
return nums.length > Arrays.stream(nums).boxed().collect(Collectors.toSet()).size();
11+
}
12+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import java.util.HashSet;
2+
import java.util.Set;
3+
4+
class SolutionGotprgmer {
5+
// ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์–ด๋А ํ•œ ์ˆซ์ž๊ฐ€ 2๊ฐœ์ด์ƒ ์กด์žฌํ•  ๊ฒฝ์šฐ true๋ฅผ ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ, false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.
6+
// set์„ ์‚ฌ์šฉํ•ด์„œ set์— ์ด๋ฏธ ๊ฐ’์ด ์กด์žฌํ•œ๋‹ค๋ฉด ๊ฐœ์ˆ˜๊ฐ€ 2 ์ด์ƒ์ด๋ฏ€๋กœ true ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด false๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
7+
8+
// ๊ฐ ์ˆซ์ž๋“ค์„ ์ €์žฅํ•ด์„œ set์œผ๋กœ ๊ด€๋ฆฌ -> distinctNums
9+
// nums์˜ ๊ฐ ์ˆซ์ž์ธ checkNum์„ distinctNums์— ๋„ฃ์–ด์ค€๋‹ค.
10+
// ๋งŒ์•ฝ checkNum์ด ์ด๋ฏธ distinctNums์— ์กด์žฌํ•œ๋‹ค๋ฉด ans๋ฅผ true๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค.
11+
12+
13+
// ์‹œ๊ฐ„๋ณต์žก๋„ -> O(n)
14+
// ๊ณต๊ฐ„๋ณต์žก๋„ -> O(n)
15+
static Set<Integer> distinctNums;
16+
public boolean containsDuplicate(int[] nums) {
17+
distinctNums = new HashSet<>();
18+
boolean ans = false;
19+
for (int checkNum : nums) {
20+
if (distinctNums.contains(checkNum)) {
21+
ans = true;
22+
break;
23+
};
24+
distinctNums.add(checkNum);
25+
}
26+
return ans;
27+
}
28+
29+
30+
}

โ€Žcontains-duplicate/Zioq.jsโ€Ž

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {boolean}
4+
*/
5+
var containsDuplicate = function(nums) {
6+
let dup_set = new Set(nums); // Initialize Set
7+
return dup_set.size !== nums.length
8+
9+
10+
/* Previous Code before the review */
11+
// for (let num of nums) {
12+
// dup_set.add(num) // Add value into the set (duplicated value will be ignored)
13+
// }
14+
15+
// if(dup_set.size !== nums.length) {
16+
// return true
17+
// }
18+
// return false
19+
};
20+
21+
/*
22+
Space Complexity - O(n) - Create a set to store elements
23+
Time Complexity - O(n) - Traverse through the array
24+
*/
25+
26+
27+
/* Test code */
28+
console.log(containsDuplicate([1, 2, 3, 1])); // true
29+
console.log(containsDuplicate([1, 2, 3, 4])); // false
30+
console.log(containsDuplicate([1, 1, 1, 3, 3, 4, 3, 2, 4, 2])); // true
31+
32+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* ์‹œ๊ฐ„ ๋ณต์žก๋„:
3+
* ๋งต์—์„œ nums[i]๋ฅผ ์ฐพ๊ฑฐ๋‚˜ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ O(1) * n(nums.length)
4+
* ์ฆ‰, O(n)
5+
* ๊ณต๊ฐ„ ๋ณต์žก๋„:
6+
* ์ตœ๋Œ€ map์˜ ํฌ๊ธฐ๋Š” nums.length๋งŒํผ
7+
* ์ฆ‰, O(n)
8+
*/
9+
/**
10+
* @param {number[]} nums
11+
* @return {boolean}
12+
*/
13+
var containsDuplicate = function(nums) {
14+
const map = new Map();
15+
for(let i = 0; i < nums.length; i++) {
16+
if(!map.has(nums[i])) {
17+
map.set(nums[i], i);
18+
} else {
19+
return true;
20+
}
21+
}
22+
return false;
23+
};
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์„ ์„ ํ˜• ์ˆœํšŒ ํ•˜๋ฏ€๋กœ, ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ๊ณต๊ฐ„ ๋ณต์žก๋„ ๋ชจ๋‘ O(n)์ผ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
2+
3+
package week01
4+
5+
// ์ฃผ์–ด์ง„ ๋ฐฐ์—ด nums๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ค€๋น„ํ•œ ๋งต์— ํ‘œ์‹œ๋ฅผ ํ•˜๋˜,
6+
// - ํ‚ค๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ์—†์œผ๋ฉด ๋งต์˜ ํ•ด๋‹น ํ‚ค๊ฐ’์— true๋ฅผ ์ €์žฅํ•˜๊ณ 
7+
// - ํ‚ค๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ์žˆ์œผ๋ฉด ์ฆ‰์‹œ true๋ฅผ ๋ฐ˜ํ™˜.
8+
// - ์ˆœํšŒ ํ›„์—๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ค‘๋ณต์ด ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ false๋ฅผ ๋ฐ˜ํ™˜.
9+
func containsDuplicate(nums []int) bool {
10+
dup := make(map[int]bool, 0)
11+
for _, n := range nums {
12+
if _, ok := dup[n]; !ok {
13+
dup[n] = true
14+
} else {
15+
return true
16+
}
17+
}
18+
19+
return false
20+
}
21+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Time complexity, O(n)
2+
// Space complexity, O(n)
3+
// ํ’€์ด
4+
// nums ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ hashMap์— num์„ key๋กœ, ์กด์žฌ ์—ฌ๋ถ€๋ฅผ value๋กœ ์ €์žฅํ•œ๋‹ค.
5+
// ๋งŒ์•ฝ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” key๋ผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ˆœํšŒ๋ฅผ ์ „๋ถ€ ํ–ˆ๋Š”๋ฐ๋„ ์ค‘๋ณต์ด ์—†๋‹ค๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
6+
func containsDuplicate(nums []int) bool {
7+
hashMap := map[int]bool{}
8+
for _, num := range nums {
9+
if hashMap[num] {
10+
return true
11+
}
12+
hashMap[num] = true
13+
}
14+
return false
15+
}

0 commit comments

Comments
ย (0)