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+
121from typing import List
222
323class 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+
131from typing import List
232
333class Solution :
You canโt perform that action at this time.
0 commit comments