File tree Expand file tree Collapse file tree 2 files changed +50
-0
lines changed Expand file tree Collapse file tree 2 files changed +50
-0
lines changed Original file line number Diff line number Diff line change
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
+
1
21
from typing import List
2
22
3
23
class Solution :
Original file line number Diff line number Diff line change
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
+
1
31
from typing import List
2
32
3
33
class Solution :
You canโt perform that action at this time.
0 commit comments