Skip to content

Commit 97ce36d

Browse files
authored
Merge pull request #2007 from socow/main
[socow] WEEK 01 solutions
2 parents e767d99 + d7db655 commit 97ce36d

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# ๋ฌธ์ œ ๋‚ด์šฉ
2+
# ๋ฐฐ์—ด nums์— ๊ฐ™์€ ๊ฐ’์ด 2๋ฒˆ ์ด์ƒ ๋“ฑ์žฅํ•˜๋ฉด True, ์•„๋‹ˆ๋ฉด False.
3+
# ๊ฐ€์žฅ ์‹ค์ „์ ์ธ ๋ฐฉ๋ฒ•: ํ•ด์‹œ์…‹(Set)์œผ๋กœ ํ•œ ๋ฒˆ์”ฉ ๋ณด๋ฉฐ ๋“ฑ์žฅ ์—ฌ๋ถ€ ์ฒดํฌ
4+
# โ†’ ์ด๋ฏธ ๋ณธ ๊ฐ’์ด๋ฉด ๋ฐ”๋กœ True ๋ฐ˜ํ™˜(์กฐ๊ธฐ ์ข…๋ฃŒ).
5+
6+
# ๋ฌธ์ œ ํ’€์ด ์„ค๋ช…
7+
# set์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์ง‘ํ•ฉ์ด๋‹ค
8+
# ๋ฆฌ์ŠคํŠธ๋ฅด set์œผ๋กœ ๋ฐ”๊พธ๋ฉด ์ค‘๋ณต์ด ์ œ๊ฑฐ๋œ๋‹ค
9+
# ๋”ฐ๋ผ์„œ ๊ธธ์ด๋ฅผ ๋น„๊ตํ•˜๋ฉด ์ค‘๋ณต ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค
10+
11+
# ์ค‘๋ณต์ด ์žˆ๋Š” ๊ฒฝ์šฐ
12+
# >>> nums = [1,2,3,2]
13+
# >>> len(nums)
14+
# 4
15+
# >>> set(nums)
16+
# {1, 2, 3}
17+
# >>> len(set(nums))
18+
# 3
19+
# >>> len(nums) != len(set(nums))
20+
# True
21+
22+
# ์ค‘๋ณต์ด ์—†๋Š” ๊ฒฝ์šฐ
23+
# >>> nums = [1,2,3]
24+
# >>> len(nums)
25+
# 3
26+
# >>> set(nums)
27+
# {1, 2, 3}
28+
# >>> len(set(nums))
29+
# 3
30+
# >>> len(nums) != len(set(nums))
31+
# False
32+
class Solution:
33+
def containsDuplicate(self, nums: List[int]) -> bool:
34+
return len(nums) != len(set(nums))
35+

โ€Žtwo-sum/socow.pyโ€Ž

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# 1. ์ผ๋‹จ ๋”•์…”๋„ˆ๋ฆฌ(num_map)๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ˆซ์ž๋ž‘ ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅํ•œ๋‹ค.
2+
# 2. ํ˜„์žฌ ์ˆซ์ž์™€ target์„ ๋บ€ ๊ฒฐ๊ณผ(๋ณด์ถฉ๊ฐ’, complement)๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
3+
# 3. ๊ทธ complement๊ฐ€ ์ด๋ฏธ ๋”•์…”๋„ˆ๋ฆฌ์— ์žˆ๋‹ค๋ฉด?
4+
# โ†’ ๊ทธ ์ˆซ์ž์™€ ํ˜„์žฌ ์ˆซ์ž๊ฐ€ ํ•ฉ์ณ์„œ target์ด ๋œ๋‹ค๋Š” ๋œป!
5+
# 4. ์—†๋‹ค๋ฉด ํ˜„์žฌ ์ˆซ์ž๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ์— ์ €์žฅํ•ด์„œ ๋‹ค์Œ์— ๋Œ€๋น„ํ•œ๋‹ค.
6+
7+
class Solution:
8+
def twoSum(self, nums: List[int], target: int) -> List[int]:
9+
num_map = {}
10+
11+
for i, num in enumerate(nums):
12+
complement = target - num
13+
14+
if complement in num_map:
15+
return [num_map[complement], i]
16+
num_map[num] = i

0 commit comments

Comments
ย (0)