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

Python5

[Python/์•Œ๊ณ ๋ฆฌ์ฆ˜] DFS์™€ BFS ์™„์ „์ •๋ณต(ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํƒ€๊ฒŸ๋„˜๋ฒ„) ์ฝ”ํ…Œ์— ํ•ญ์ƒ ๋ฌป์ง€๋„ ๋”ฐ์ง€์ง€๋„ ์•Š๊ณ  ๋‚˜์˜ค๋Š” DFS/BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํƒ์ƒ‰ํ•ด๋ณผ ์‹œ๊ฐ„์ด๋‹ค. ์ฝ”ํ…Œ ๋งž์ถคํ˜• ๊ฐœ๋… ์„ค๋ช…๋‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.์ค‘์š”ํ•˜์ง„ ์•Š์ง€๋งŒ, ๋ฌด์Šจ ๋œป์ด๋ƒ๋ฉด๊ทธ๋ž˜ํ”„: ์—ฌ๋Ÿฌ ๊ฐœ์ฒด๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐํƒ์ƒ‰: ํŠน์ • ๊ฐœ์ฒด๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ฆ‰, ์—ฌ๋Ÿฌ ๊ฐœ์ฒด๋“ค์ด ์—ฐ๊ฒฐ๋œ ๊ทธ๋ž˜ํ”„์—์„œ ํŠน์ • ๊ฐœ์ฒด๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์˜ฌ์‹œ๋‹ค. ๊ทธ๋Ÿผ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ DFS/BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€์–ด์•ผํ•˜๋‚˜? ๋Œ€ํ‘œ์  ๋ฌธ์ œ์œ ํ˜•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.1. ๊ฒฝ๋กœํƒ์ƒ‰ ์œ ํ˜•(์ตœ๋‹จ๊ฑฐ๋ฆฌ, ์‹œ๊ฐ„)2. ๋„คํŠธ์›Œํฌ ์œ ํ˜• (์—ฐ๊ฒฐ)3. ์กฐํ•ฉ ์œ ํ˜•(๋ชจ๋“  ์กฐํ•ฉ ๋งŒ๋“ค๊ธฐ) ๊ทธ๋Ÿผ ์ด์ œ ์—ฌ๊ธฐ์„œ ์˜๋ฌธ, ์–ด๋–ค ๊ฑธ DFS๋กœ, ์–ด๋–ค๊ฑธ BFS๋กœ ํ’€์–ด์•ผํ•˜๋‚˜?์‚ฌ์‹ค, ์›ฌ๋งŒํ•œ ๋‚œ์ด๋„์˜ ๋ฌธ์ œ๋Š” ๋‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.(์ด๊ฒƒ ๋งˆ์ € ๊นŒ๋จน๊ณ  ๋ญ๋“œ๋ผ๋ฏธ ํ•˜๊ณ  ์žˆ๋˜ ๋‚˜์ž์‹ ,, ๋ฐ˜์„ฑ.. 2026. 1. 3.
[Python] ๊ฐ์ฒด์™€ ํด๋ž˜์Šค ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Object-Oriented Programming, OOP) OOP๋Š” ๊ฐ์ฒด ๊ฐœ๋…์„ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ์†์„ฑ์€ ๋ณ€์ˆ˜, ํ–‰๋™์€ ํ•จ์ˆ˜๋กœ ํ‘œํ˜„๋œ๋‹ค. ํŒŒ์ด์ฌ ์—ญ์‹œ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด์ด๋‹ค. OOP๋Š” ์„ค๊ณ„๋„์— ํ•ด๋‹นํ•˜๋Š” ํด๋ž˜์Šค(class)์™€ ์‹ค์ œ ๊ตฌํ˜„์ฒด์ธ ์ธ์Šคํ„ด์Šค(instance, ๊ฐ์ฒด)๋กœ ๋‚˜๋‰œ๋‹ค. (ex. ํด๋ž˜์Šค -> ๋ถ•์–ด๋นตํ‹€, ์ธ์Šคํ„ด์Šค -> ๋ถ•์–ด๋นต) ๊ฐ์ฒด๋Š” ์†์„ฑ๊ณผ ํ–‰๋™์„ ๊ฐ€์ง„๋‹ค. ๋ฐ์ดํ„ฐ์™€ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ์ปค์Šคํ…€ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๊ตฌ์ฒด์ ์ธ ๊ฒƒ์˜ ์œ ์ผํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ฐ์ฒด๊ฐ€ ๊ฐœ๋ณ„ ์‚ฌ๋ฌผ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค๋ฉด ํ•ด๋‹น ๋งค์„œ๋“œ๋Š” ๋‹ค๋ฅธ ์‚ฌ๋ฌผ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ฒด๋Š” ํ”Œ๋ผ์Šคํ‹ฑ ๋ฐ•์Šค, ํด๋ž˜์Šค๋Š” ๋ฐ•์Šค๋ฅผ ๋งŒ๋“œ๋Š” ํˆด์ด๋ผ๊ณ  ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ํด๋ž˜์Šค ์„ ์–ธ: class class .. 2021. 9. 22.
[Python] ํ•จ์ˆ˜ ํ•จ์ˆ˜ ๊ธด ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๋ชจ๋“  ํƒ€์ž…์„ ์ž…๋ ฅ argument๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ  ๋ชจ๋“  ํƒ€์ž…์„ returnํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ์ •์˜ํ•˜๊ธฐ: def def ํ•จ์ˆ˜ ์ด๋ฆ„(): ํ•จ์ˆ˜ ์ด๋ฆ„์€ ๋ณ€์ˆ˜ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ทœ์น™์ด๋‹ค. ์˜๋ฌธ์ž, ์ˆซ์ž, ์–ธ๋” ๋ฐ”๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ ,์ฒซ๊ธ€์ž๋Š” ๋ฐ˜๋“œ์‹œ ์˜๋ฌธ์ž๋‚˜ ์–ธ๋” ๋ฐ”๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. 2. ํ˜ธ์ถœํ•˜๊ธฐ: ( ) ์ •์˜ํ•ด ๋‘” ํ•จ์ˆ˜์˜ ์ด๋ฆ„๊ณผ ()๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. argument๊ฐ€ ์žˆ๋‹ค๋ฉด ()์•ˆ์— ์ˆœ์„œ์™€ ํƒ€์ž…์— ๋งž๊ฒŒ ์ž…๋ ฅํ•ด์ค€๋‹ค. def make_a_sound(): print('quack') make_a_sound() 3. ์ธ์ˆ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ธ์ˆ˜: ํ•จ์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๊ฐ’ ๋งค๊ฐœ๋ณ€์ˆ˜: ์ธ์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์ธ์ˆ˜์˜ ๊ฐ’์ด ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋ณต์‚ฌ๋œ๋‹ค. ์ฆ‰, ํ•จ์ˆ˜ ์™ธ๋ถ€์—.. 2021. 9. 22.
[Python] ๋”•์…”๋„ˆ๋ฆฌ์™€ ์…‹ ๋”•์…”๋„ˆ๋ฆฌ 1. ๋”•์…”๋„ˆ๋ฆฌ(dictionary)๋ž€? ๋ฆฌ์ŠคํŠธ์™€ ๋น„์Šทํ•˜๋‹ค. ์ฐจ์ด์ ์€ ํ•ญ๋ชฉ์˜ ์ˆœ์„œ๋ฅผ ๋”ฐ์ง€์ง€ ์•Š๊ณ  offset์œผ๋กœ ํ•ญ๋ชฉ์„ ์„ ํƒํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ๋Š” ํ‚ค:๊ฐ’์˜ ํ˜•ํƒœ๋กœ ๊ฐ’(value)์— ์ƒ์‘ํ•˜๋Š” ๊ณ ์œ ํ•œ ํ‚ค(key)๋ฅผ ์ง€์ •ํ•œ๋‹ค. ํ‚ค๋Š” ๋ถˆ๋ณ€ํ•˜๋Š” ํŒŒ์ด์ฌ์˜ ํƒ€์ž…(๋ถˆ๋ฆฌ์–ธ, ์ •์ˆ˜, ๋ถ€๋™์†Œ์ˆ˜์ , ํŠœํ”Œ, ๋ฌธ์ž์—ด ๋“ฑ)์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ, ์…‹์€ ์˜ฌ ์ˆ˜ ์—†๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ๋Š” ๊ฐ€๋ณ€, ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ํ‚ค:๊ฐ’ ์š”์†Œ ์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ • ๊ฐ€๋Šฅํ•˜๋‹ค. ํ‚ค์— ์–ด๋–ค ์ •๋ณด๋ฅผ ์ฒจ๋ถ€ํ•ด์„œ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์œผ๋ ค ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. 2. ์ƒ์„ฑ: {}, dict() ์ค‘๊ด„ํ˜ธ{}์•ˆ์— ์ฝค๋งˆ(,)๋กœ ํ‚ค:๊ฐ’์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ง€์ •ํ•œ๋‹ค. dict()์˜ ์ธ์ˆ˜๋Š” ๊ณต๋ฐฑ๊ณผ ์˜ˆ์•ฝ์–ด๊ฐ€ ์—†๋Š” ์œ ํšจํ•œ ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. (์˜ˆ์•ฝ์–ด: ๋ฌธ๋ฒ•์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ด).. 2021. 9. 12.
[Python] ํŠœํ”Œ๊ณผ ๋ฆฌ์ŠคํŠธ ํŠœํ”Œ 1. ์ƒ์„ฑ : , ( ) ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•œ ์š”์†Œ ์ด์ƒ์˜ ํŠœํ”Œ์€ ๊ฐ ์š”์†Œ ๋’ค์— ์ฝค๋งˆ(,)๋ฅผ ๋ถ™์ธ ์ฑ„ ๊ด„ํ˜ธ()์— ๋„ฃ์–ด ์ƒ์„ฑํ•œ๋‹ค. ๊ด„ํ˜ธ๋Š” ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋ฉฐ ์š”์†Œ๊ฐ€ ๋‘๊ฐœ ์ด์ƒ์ด๋ฉด ๋งˆ์ง€๋ง‰ ์ฝค๋งˆ๋„ ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, ์š”์†Œ๊ฐ€ ํ•œ ๊ฐœ์ผ ๋•Œ ์ฝค๋งˆ(,)๋ฅผ ๊ผญ ์จ์ค˜์•ผ ํ•œ๋‹ค. ์ฝค๋งˆ๋ฅผ ์“ฐ์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ž์—ด๋กœ ์ธ์‹๋œ๋‹ค. ๊ฐ’์€ ๊ณ ์œ ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ค‘๋ณต ๊ฐ€๋Šฅํ•˜๋‹ค. ํŠœํ”Œ์„ ์ด์šฉํ•˜์—ฌ ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํŠœํ”Œ ์–ธํŒจํ‚น์ด๋ผ๊ณ  ํ•œ๋‹ค. 2. tuple() ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํŠœํ”Œ๋กœ ๋งŒ๋“ค์–ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. 3. ๊ฒฐํ•ฉ, ๋ณต์ œ, ๋น„๊ต , ์ˆœํšŒ ๊ฒฐํ•ฉ: + ๋ณต์ œ: * ๋น„๊ต: ==, < , 2021. 9. 12.