8์ฅ. ํด์
08-1. ํด์์ ๊ฐ๋
1) ํด์
- ํด์ ํจ์๋ฅผ ์ฌ์ฉํด์ ๋ณํํ ๊ฐ์ ์ธ๋ฑ์ค๋ก ์ผ์ ํค์ ๊ฐ์ ์ ์ฅํด์ ๋น ๋ฅธ ๋ฐ์ดํฐ ํ์์ ์ ๊ณตํ๋ ์๋ฃ๊ตฌ์กฐ
2) ํน์ง
- ๋จ๋ฐฉํฅ์ผ๋ก ๋์
- ์ฐพ๊ณ ์ ํ๋ ๊ฐ์ O(1)์์ ๋ฐ๋ก ์ฐพ๊ธฐ ๊ฐ๋ฅ
3) ํด์์ ํน์ฑ์ ํ์ฉํ๋ ๋ถ์ผ
- ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ : ํด์ฑํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ฑ : ํจ์จ์ ์ผ๋ก ๊ฒ์
- ๋ธ๋ก์ฒด์ธ : ์ด์ ๋ธ๋ก์ ํด์๊ฐ ํฌํจํ์ฌ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ํ์ธ ๊ฐ๋ฅ
๐ก [์ฝ๋ฉ ํ
์คํธ] ํด์๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ ๊ฒฝ์ฐ
-ํน์ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ํ์๊ฐ ๋ง์ ๊ฒฝ์ฐ
-ํน์ ์ ๋ณด์ ๋งคํํ๋ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ธํด์ผ ํ๋ ์์
์ด ์๋ ๊ฒฝ์ฐ
08-2. ํด์ ํจ์
- ํ์ด์ฌ์ ๋์
๋๋ฆฌ ์๋ฃํ์ ํด์์ ๊ฑฐ์ ๋์ผํ๊ฒ ๋์
1) ํด์ ํจ์๋ฅผ ๊ตฌํํ ๋ ๊ณ ๋ คํ ๋ด์ฉ
- ํด์ ํจ์๊ฐ ๋ณํํ ๊ฐ์ ํด์ ํ
์ด๋ธ์ ํฌ๊ธฐ๋ฅผ ๋์ผ๋ฉด ์๋๋ค
- ํด์ ํจ์๊ฐ ๋ณํํ ๊ฐ์ ์ถฉ๋์ ์ต๋ํ ์ ๊ฒ ๋ฐ์ํด์ผ ํ๋ค
2) ์์ฃผ ์ฌ์ฉํ๋ ํด์ ํจ์ ์์๋ณด๊ธฐ
- ๋๋์
๋ฒ : ํค๋ฅผ ์์๋ก ๋๋ ๋๋จธ์ง ํ์ฉํ๋ ๋ฐฉ๋ฒ(๋ชจ๋๋ฌ ์ฐ์ฐ)
- ๊ณฑ์
๋ฒ : ํฉ๊ธ๋น๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ
- ๋ฌธ์์ด ํด์ฑ : ํค์ ์๋ฃํ์ด ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ, ๋ฌธ์์ด์ ๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณํํ๊ณ ์ด ์ซ์๋ค์ ๋คํญ์์ ๊ฐ์ผ๋ก ๋ณํํ์ฌ ํด์ฑํ๋ ๋ฐฉ๋ฒ
08-3. ์ถฉ๋ ์ฒ๋ฆฌ
1) ์ฒด์ด๋์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ
- ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ํด๋น ๋ฒํท์ ๋งํฌ๋๋ฆฌ์คํธ๋ก ๊ฐ์ ํด์๊ฐ์ ๊ฐ์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ
- ํด์ ํ
์ด๋ธ ๊ณต๊ฐ ํ์ฉ์ฑ ๊ฐ์
- ๊ฒ์ ์ฑ๋ฅ ๊ฐ์
2) ๊ฐ๋ฐฉ ์ฃผ์๋ฒ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ
- ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ๋น ๋ฒํท์ ์ฐพ์ ์ถฉ๋๊ฐ์ ์ฝ์
ํ๋ ๋ฐฉ๋ฒ
- ์ฒด์ด๋ ๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ
- ์ ํ ํ์ฌ ๋ฐฉ์ : ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ๋ค๋ฅธ ๋น ๋ฒํท์ ์ฐพ์ ๋๊น์ง ์ผ์ ํ ๊ฐ๊ฒฉ์ผ๋ก ์ด๋ํ๋ ๋ฐฉ๋ฒ
- ์ด์ค ํด์ฑ ๋ฐฉ์ : 2๊ฐ์ ํด์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ๋ ๋ฒ์งธ ํด์ํจ์๋ ์ฒซ ๋ฒ์งธ ํด์ ํจ์๋ก ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ํด๋น ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ด๋ป๊ฒ ์์น๋ฅผ ์ ํ ์ง ๊ฒฐ์ ํ๋ ์ญํ
08-4. ๋ชธํ๊ธฐ ๋ฌธ์
- ๋ฌธ์ 18_๋ ๊ฐ์ ์๋ก ํน์ ๊ฐ ๋ง๋ค๊ธฐ
'''
1. arr๊ฐ ๋ค์ด์จ๋ค.
2. arr ์ค ์์ ๋ํด์ target์ด ๋๋ ๊ฒ์ด ์๋์ง ํ์ธ
3. ์์ผ๋ฉด True, ์์ผ๋ฉด False
'''
def solution(arr, target):
dic_arr = dict()
for key in arr:
dic_arr[key] = 0
for key in dic_arr:
condition = (target - key) != key
if ((target - key) in dic_arr) and condition:
return True
return False
- ๋ฌธ์ 19_๋ฌธ์์ด ํด์ฑ์ ์ด์ฉํ ๊ฒ์ ํจ์ ๋ง๋ค๊ธฐ
'''
1. query_list์ ์๋ ์์๊ฐ string_list์ ์๋์ง ํ์ธํ๋ค
2. ์์ผ๋ฉด True, ์์ผ๋ฉด False ๊ฐ์ ์ ๋ต ๋ฆฌ์คํธ์ ๋ฃ๋๋ค
'''
def solution(string_list, query_list):
answer = []
string_dict = {}
for string in string_list:
string_dict[string] = 1
for query in query_list:
if query in string_dict:
answer.append(True)
else:
answer.append(False)
return answer
08-5. ํฉ๊ฒฉ์๊ฐ ๋๋ ๋ชจ์ ํ
์คํธ