๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€

(47)
<intent-filter> ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ์‹œ์ž‘์  ์ง€์ •ํ•˜๊ธฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ์ฒ˜์Œ ๋งŒ๋“ค๊ณ  ๋นŒ๋“œํ–ˆ๋Š”๋ฐ…์•ฑ ์•„์ด์ฝ˜์€ ๋‚˜์™”๋Š”๋ฐ ๋ˆŒ๋Ÿฌ๋„ ์•„๋ฌด ์ผ๋„ ์•ˆ ์ผ์–ด๋‚˜๋”๋ผ๊ตฌ์š”? ์ด ๊ธ€์€ ๊ทธ๋Ÿฐ ๋ถ„๋“ค์„ ์œ„ํ•œ ์ž‘์€ ํŒ์ž…๋‹ˆ๋‹ค.์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์—์„œ ์ฒ˜์Œ ์‹คํ–‰๋  ์•กํ‹ฐ๋น„ํ‹ฐ(ํ™”๋ฉด)๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ํ•ต์‹ฌ์ธ ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ด…๋‹ˆ๋‹ค. 1. ์™œ ๊ฐ€ ํ•„์š”ํ•œ๊ฐ€์š”?์•ˆ๋“œ๋กœ์ด๋“œ๋Š” ์•ฑ์„ ์‹คํ–‰ํ•  ๋•Œ, ์–ด๋А ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ• ์ง€ ๋ช…์‹œ์ ์œผ๋กœ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.ํŠนํžˆ ์•ฑ์„ ์„ค์น˜ํ•œ ๋’ค ๋Ÿฐ์ฒ˜(ํ™ˆ ํ™”๋ฉด)์—์„œ ์•„์ด์ฝ˜์„ ๋ˆŒ๋ €์„ ๋•Œ ์–ด๋–ค ํ™”๋ฉด์ด ์—ด๋ฆด์ง€ ์ง€์ •ํ•ด์ค˜์•ผ ํ•˜์ฃ . ์ด๊ฑธ ์„ค์ •ํ•˜๋Š” ๊ฒŒ ๋ฐ”๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ์ž…๋‹ˆ๋‹ค. 2. ๋‘ ์†์„ฑ์˜ ์—ญํ• ํƒœ๊ทธ์˜๋ฏธ์ด ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€ ์•ฑ์˜ ์ง„์ž…์ ์ž„์„ ์ •์˜ (Entry Point)ํ™ˆ ํ™”๋ฉด(๋Ÿฐ์ฒ˜)์— ์•ฑ ์•„์ด์ฝ˜์„ ๋“ฑ๋กํ•˜๊ณ  ํด๋ฆญ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ ์ฆ‰, ์ด ๋‘ ์ค„์ด ํ•จ๊ป˜ ์žˆ์–ด์•ผ..
[MySQL] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ „ ์ •๋ฆฌ ์ค‘๋ณต ์ œ๊ฑฐํ•˜๊ธฐ - ๊ณ ์œ ํ•œ ์ด๋ฆ„๋งŒ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•ŒSELECT count(distinct name) as countfrom animal_inswhere name is not null ๋ฌผ๊ณ ๊ธฐ ์ข…๋ฅ˜ ๋ณ„ ๋Œ€์–ด ์ฐพ๊ธฐ - ~ ์ค‘์— ๊ฐ€์žฅ ํฐ ๊ฒƒ๋งŒ ๊ณ ๋ฅด๊ธฐselect id, fish_name, lengthfrom fish_info as f left join fish_name_info as non f.fish_type=n.fish_typewhere (f.fish_type, f.length)in (select fish_type, max(length)from fish_infogroup by fish_typehaving length > 10) ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ - ์ถœ๋ ฅํ˜•ํƒœ ์ง€์ •ํ•˜๊ธฐ-- 1. ์ตœ๋Œ€ ๊ธธ..
[DL] ๋”ฅ๋Ÿฌ๋‹์— ํ•„์š”ํ•œ Numpy ๋ฌธ๋ฒ• ์ด์ •๋ฆฌ 0. Numpy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐimport numpy as np 'numpy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ np๋กœ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค'๊ณ  ์„ ์–ธ 1. Numpy ๋ฐฐ์—ด ์—ฐ์‚ฐ๊ธฐ๋ณธ ์—ฐ์‚ฐ# Numpy ๋ฐฐ์—ด ์ƒ์„ฑlist = [1, 2, 3, 4, 5]list = np.array(list)# Numpy ๋ฐฐ์—ด ๋ง์…ˆ ์—ฐ์‚ฐlist_np += 2print(list_np) #[3 4 5 6 7]# Numpy ๋ฐฐ์—ด ๊ณฑ์…ˆ ์—ฐ์‚ฐlist_np *= 2print(list_np) #[6 8 10 12 14]# ํ–‰๋ ฌ ๊ณฑ ([x์˜ ์—ด ์ˆ˜ = w์˜ ํ–‰ ์ˆ˜]์—ฌ์•ผ ํ•จ)x = np.array([[2, 1]])w = np.array([[1], [1]]) print(x @ w + b) #[[4]] ๋‘ ๋ฐฐ์—ด ๊ฐ„์˜ ์—ฐ์‚ฐ (๊ฐ™์€ ์œ„์น˜์— ์žˆ๋Š” ์š”์†Œ๋ผ๋ฆฌ ์—ฐ์‚ฐ)a = np...
[Python] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์‹œ๊ฐ„ ๋ณต์žก๋„ ๊ฟ€ํŒ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ํ•œ ๋ฒˆ์ฏค ๊ฒช๋Š” ์ˆœ๊ฐ„์ด ์žˆ๋‹ค.“์–ด..? ๋กœ์ง์€ ๋งž๋Š”๋ฐ ์™œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋œจ์ง€?” ์ด ๊ธ€์—์„œ๋Š” ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ์ž์ฃผ ํ•˜๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„ ๊ด€๋ จ ์‹ค์ˆ˜๋“ค๊ณผ ๊ทธ์— ๋Œ€ํ•œ ํšจ์œจ์ ์ธ ๋Œ€์ฒด ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ดค๋‹ค.1. list๋ณด๋‹ค set/dict๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐif target in arr: # O(n)if target in set(arr): # O(1)in ์—ฐ์‚ฐ์€ ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” ์„ ํ˜• ํƒ์ƒ‰์ด๋ผ ๋А๋ฆฌ๋‹ค.์ค‘๋ณต ์ œ๊ฑฐ, ์กด์žฌ ์—ฌ๋ถ€ ํŒ๋‹จ, ๋น ๋ฅธ ๊ฒ€์ƒ‰์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ set/dict ์ž๋ฃŒํ˜•์„ ์šฐ์„ ์ ์œผ๋กœ ๊ณ ๋ คํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. 2. pop(0) ๋Œ€์‹  deque์˜ popleft()๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐfrom collections import dequedq = deque([1, 2, 3])dq.popleft() # O(1)๋ฆฌ..
[Python] ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ ํ•œ๋ฒˆ์— ํƒˆ์ถœํ•˜๋Š” 4๊ฐ€์ง€ ๋ฐฉ๋ฒ• ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ฌ ๋•Œ ๋ณดํ†ต break๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.ํ•˜์ง€๋งŒ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ๊ณผ ๊ฐ™์ด ์ค‘์ฒฉ๋œ ๊ตฌ์กฐ์—์„œ๋Š” ๋‹จ์ผ break๋กœ๋Š” ๋ฐ”๊นฅ ๋ฃจํ”„๊นŒ์ง€ ํƒˆ์ถœํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ํŒŒ์ด์ฌ์—์„œ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ํ•œ ๋ฒˆ์— ํƒˆ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ 4๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž ๋ฐฉ๋ฒ•1. flag ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐfound = Falsefor i in range(10): for j in range(10): if i * j == 20: found = True break if found: breakprint("ํƒˆ์ถœ ์™„๋ฃŒ")flag ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ๋ฐ”๊นฅ ๋ฃจํ”„๊นŒ์ง€ ํƒˆ์ถœํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด์ง€๋งŒ, ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๊ณ  ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๋‹จ์  ์กด์žฌ ๋ฐฉ๋ฒ•2. ํ•จ์ˆ˜๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  retu..
[Python] 2์ฐจ์› ๋ฐฐ์—ด์—์„œ (ํ–‰์˜ ํ•ฉ - ์—ด์˜ ํ•ฉ) ๊ณ„์‚ฐํ•˜๊ธฐ 2์ฐจ์› ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๋‹ค ๋ณด๋ฉด, ํŠน์ • ํ–‰ ๋˜๋Š” ์—ด์˜ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ํŠนํžˆ, ์–ด๋–ค ๋ฌธ์ œ์—์„œ๋Š” (i๋ฒˆ์งธ ํ–‰์˜ ํ•ฉ - i๋ฒˆ์งธ ์—ด์˜ ํ•ฉ)์„ ๊ณ„์‚ฐํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. n = len(matrix)gift_score = [0] * n # ์„ ๋ฌผ ์ง€์ˆ˜ ์ €์žฅ์šฉfor i in range(n): row_sum = sum(matrix[i]) # i๋ฒˆ ์‚ฌ๋žŒ์ด ์ค€ ์„ ๋ฌผ ์ดํ•ฉ col_sum = sum(row[i] for row in matrix) # i๋ฒˆ ์‚ฌ๋žŒ์ด ๋ฐ›์€ ์„ ๋ฌผ ์ดํ•ฉ gift_score[i] = row_sum - col_sumgift_score[i] = sum(matrix[i]) - sum(row[i] for row in matrix)
[Python] ๋ฆฌ์ŠคํŠธ์—์„œ [[0]*n]*n์ด ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์ด์œ  ํŒŒ์ด์ฌ์—์„œ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ์•„๋ž˜์ฒ˜๋Ÿผ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.n = 3singo = [[0] * n] * n ๊ฒ‰๋ณด๊ธฐ์—๋Š” 3x3 ํ˜•ํƒœ์˜ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ์‚ฌ์‹ค์€ ๋ชจ๋“  ํ–‰์ด ๊ฐ™์€ ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์œ„ํ—˜ํ•œ ์ฝ”๋“œ์ด๋‹ค. 1. ์™œ ๋ฌธ์ œ๊ฐ€ ๋ ๊นŒ?์œ„ ์ฝ”๋“œ์˜ ์˜๋ฏธ๋ฅผ ํ’€์–ด๋ณด๋ฉด ์ด๋ ‡๋‹ค.row = [0, 0, 0]singo = [row, row, row] # ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ 3๋ฒˆ ์ฐธ์กฐ ์ฆ‰, ์‹ค์ œ๋กœ๋Š” ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ณต์‚ฌํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ, ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ฐธ์กฐ(์–•์€ ๋ณต์‚ฌ)ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๐Ÿ” ์˜ˆ์ œ๋กœ ํ™•์ธํ•˜๊ธฐsingo = [[0]*3]*3singo[0][1] = 1print(singo)์˜ˆ์ƒ ์ถœ๋ ฅ[[0, 1, 0], [0, 0, 0], [0, 0, 0]]์‹ค์ œ ์ถœ๋ ฅ[[0, 1, 0], [..
[Python] ๋ฆฌ์ŠคํŠธ๋ฅผ Key๋กœ ๊ฐ–๋Š” ๋”•์…”๋„ˆ๋ฆฌ ๋งŒ๋“ค๊ธฐ ํŒŒ์ด์ฌ์—์„œ ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ ์š”์†Œ๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ์˜ key๋กœ ๋งŒ๋“ค๊ณ , ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ํŠน์ • ๊ฐ’์„ ํ• ๋‹นํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ• 1. dict.fromkeys(list์ด๋ฆ„, ๊ฐ’)my_dict = dict.fromkeys(id_list, 0)print(my_dict) # {'a': 0, 'b': 0, 'c': 0} 2. ๋”•์…”๋„ˆ๋ฆฌ ์ปดํ”„๋ฆฌํ—จ์…˜my_dict = {key: 0 for key in id_list}print(my_dict) # {'a': 0, 'b': 0, 'c': 0} 3. ์ผ๋ฐ˜ ๋ฐ˜๋ณต๋ฌธmy_dict = {}for key in id_list: my_dict[key] = 0 *. ๊ฐ key์— ๋‹ค๋ฅธ ๊ฐ’์„ ๋„ฃ๊ณ  ์‹ถ์„ ๋•Œvalues = [10, 20, 30]my_dict = {k: v for k, ..