Skip to content

Commit de3b81b

Browse files
committed
Add Solutions
1 parent 1c2b478 commit de3b81b

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

โ€Žcontains-duplicate/hypoxisaurea.pyโ€Ž

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
2+
'''
3+
ํ’€์ด:
4+
๋ฐฐ์—ด nums ์— ์ค‘๋ณต๋œ ๊ฐ’์ด ์žˆ๋Š”์ง€ ํšจ์œจ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ํ•ด์‹œ ์ง‘ํ•ฉ(Hash Set) ์‚ฌ์šฉ
5+
6+
๋นˆ ์ง‘ํ•ฉ num_set
7+
๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ num์„ ์ˆœํšŒํ•˜๋ฉฐ:
8+
๋งŒ์•ฝ num์ด ์ด๋ฏธ num_set์— ๋“ค์–ด์žˆ๋‹ค๋ฉด โ†’ ์ค‘๋ณต์ด๋ฏ€๋กœ ์ฆ‰์‹œ True ๋ฐ˜ํ™˜
9+
์•„๋‹ˆ๋ผ๋ฉด num_set์— num์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‹ค์Œ ์š”์†Œ๋กœ ๋„˜์–ด๊ฐ
10+
์ˆœํšŒ๋ฅผ ๋ชจ๋‘ ๋งˆ์ณค์Œ์—๋„ ์ค‘๋ณต์„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด False ๋ฐ˜ํ™˜
11+
12+
์‹œ๊ฐ„ ๋ณต์žก๋„: O(n)
13+
๋ฐฐ์—ด์„ ํ•œ ๋ฒˆ ์ˆœํšŒํ•˜๋ฉฐ, ๊ฐ ์š”์†Œ๋งˆ๋‹ค ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ์กฐํšŒ(in)์™€ ์‚ฝ์ž…(add) ์—ฐ์‚ฐ ์ˆ˜ํ–‰
14+
ํŒŒ์ด์ฌ set์˜ ํ‰๊ท  ์กฐํšŒยท์‚ฝ์ž… ๋น„์šฉ์€ O(1)์ด๋ฏ€๋กœ ์ „์ฒด O(n)
15+
16+
๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)
17+
์ตœ์•…์˜ ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ค‘๋ณต ์—†์ด ์ง‘ํ•ฉ์— ์ €์žฅ๋˜๋ฏ€๋กœ, ์ถ”๊ฐ€๋กœ n๊ฐœ์˜ ๊ณต๊ฐ„์„ ์‚ฌ์šฉ
18+
'''
19+
20+
121
from typing import List
222

323
class Solution:

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

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
'''
2+
1. Brute Force ํ’€์ด:
3+
๋ฐฐ์—ด์˜ ๊ฐ ์œ„์น˜ i๋ฅผ ๊ธฐ์ค€์œผ๋กœ diff = target - nums[i] ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ 
4+
๊ทธ ๋’ค์ชฝ(i+1๋ถ€ํ„ฐ ๋๊นŒ์ง€) ์š”์†Œ๋“ค ์ค‘ nums[j] == diff ์ธ j๋ฅผ ์ฐพ์œผ๋ฉด
5+
[i, j] ๋ฐ˜ํ™˜
6+
7+
์‹œ๊ฐ„ ๋ณต์žก๋„: O(nยฒ)
8+
์ด์ค‘ ๋ฃจํ”„๋ฅผ ๋Œ๋ฉฐ ๋ชจ๋“  ์Œ์„ ๊ฒ€์‚ฌ
9+
10+
๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)
11+
์ถ”๊ฐ€ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ƒ์ˆ˜ ๊ณต๊ฐ„๋งŒ ์†Œ๋ชจ
12+
13+
14+
2. Hash Map ํ’€์ด:
15+
๋นˆ ๋”•์…”๋„ˆ๋ฆฌ lookup = {} ์ค€๋น„
16+
๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๊ฐ ์š”์†Œ num์— ๋Œ€ํ•ด diff = target - num ์„ ๊ณ„์‚ฐ
17+
18+
if diff in lookup:
19+
๋ณด์ˆ˜๊ฐ€ ์ด๋ฏธ ๋งต์— ์žˆ์œผ๋ฉด ์ฆ‰์‹œ [lookup[diff], i] ๋ฐ˜ํ™˜
20+
๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด lookup[num] = i ๋กœ ํ˜„์žฌ ๊ฐ’๊ณผ ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ๋ก
21+
์ˆœํšŒ ์ข…๋ฃŒ ํ›„์—๋„ ๋ชป ์ฐพ์œผ๋ฉด ์—๋Ÿฌ ๋ฐœ์ƒ
22+
23+
์‹œ๊ฐ„ ๋ณต์žก๋„: O(n)
24+
ํ•œ ๋ฒˆ ์ˆœํšŒํ•˜๋ฉฐ ๋”•์…”๋„ˆ๋ฆฌ ์กฐํšŒยท์‚ฝ์ž…์ด ํ‰๊ท  O(1)
25+
26+
๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)
27+
์ตœ์•…์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋งต์— ์ €์žฅ
28+
'''
29+
30+
131
from typing import List
232

333
class Solution:

0 commit comments

Comments
ย (0)