nonlocal 2

[ํŒŒ์ด์ฌ] ๋ณ€์ˆ˜ ์„ ์–ธ์— ๋Œ€ํ•ด์„œ #์ „์—ญ ๋ณ€์ˆ˜(global) #์ง€์—ญ๋ณ€์ˆ˜(local)

"๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ"global : ์ „์—ญ ๋ณ€์ˆ˜global์„ ์•ž์— ๋ถ™์ด๋ฉด ํ•จ์ˆ˜ ๋ฐ–์—์„œ ์„ ์–ธํ•œ ์ „์—ญ ํ•จ์ˆ˜๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ฒŒ  ํ•จ์ˆ˜ ์•ˆ์—์„œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๊ทธ ๊ฐ’์ด ์ถœ๋ ฅ๋จ์ผ๋ฐ˜ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉ nonlocal : ๋น„์ง€์—ญ ๋ณ€์ˆ˜nonlocal์„ ์•ž์— ๋ถ™์ด๋ฉด ํ•จ์ˆ˜ ๋ฐ–์—์„œ ์„ ์–ธํ•œ ๋น„์ง€์—ญ ํ•จ์ˆ˜๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ฒŒ ๋จ์ค‘์ฒฉ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ƒ์œ„ ํ•จ์ˆ˜์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉ์ค‘์ฒฉ ํ•จ์ˆ˜์—์„œ global์„ ์‚ฌ์šฉํ•˜๋ฉด ์—๋Ÿฌ๋‚จ >> ์ด๋Ÿด ๋•Œ nonlocal์„ ์‚ฌ์šฉํ•ด์คŒํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋Š” def๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ œ ํ˜•์‹์ด๋ฏ€๋กœ dfs์˜ ์ค‘์ฒฉ def(ํ•จ์ˆ˜)๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ nonlocal์„ ์‚ฌ์šฉํ•ด ์ฃผ์–ด์•ผ ํ•จ local : ์ง€์—ญ ๋ณ€์ˆ˜ํ•จ์ˆ˜ ๋ฐ– ํ•จ์ˆ˜์™€ ๋‹ค๋ฅธ ์ง€์—ญ ํ•จ์ˆ˜์ž„์„ ์•Œ๋ฆผ a = 3 #์ „์—ญ ๋ณ€์ˆ˜def func(): a = 5 #์ง€์—ญํ•จ์ˆ˜ ..

IT/์–ธ์–ด 2024.05.10

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | python] ํƒ€๊ฒŸ ๋„˜๋ฒ„

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋“์  Kit > ๊นŠ์ด/๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(DFS/BFS) > ํƒ€์ผ“ ๋„˜๋ฒ„  ํƒ€๊ฒŸ ๋„˜๋ฒ„ Lv.2n๊ฐœ์˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •์ˆ˜๋“ค์„ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ์ ์ ˆํžˆ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [1, 1, 1, 1, 1]๋กœ ์ˆซ์ž 3์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹ค์„ฏ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers, ํƒ€๊ฒŸ ๋„˜๋ฒ„ target์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์ˆซ์ž๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ณ  ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.[์ œํ•œ์‚ฌํ•ญ]- ์ฃผ์–ด์ง€๋Š” ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋Š” 2๊ฐœ ์ด์ƒ 20๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค.- ๊ฐ ์ˆซ์ž๋Š” 1 ์ด์ƒ 50 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.- ํƒ€๊ฒŸ ๋„˜๋ฒ„๋Š” 1 ์ด์ƒ 1000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.   ์ฒซ ๋ฒˆ์งธ ํ’€์ด..