๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กPython (11)

JiYoung Dev ๐Ÿ–ฅ

[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ Greedy Algorithm

2023.03.01 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm) greedy๋Š” ํƒ์š•์ด๋ผ๋Š” ๋œป. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm)์€ ๋ฏธ๋ž˜๋ฅผ ๋‚ด๋‹ค๋ณด์ง€ ์•Š๊ณ , ๋‹น์žฅ ๋ˆˆ์•ž์— ๋ณด์ด๋Š” ์ตœ์ ์˜ ์„ ํƒ์„ ํ•˜๋Š” ๋ฐฉ์‹ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์œผ๋‚˜ ์ˆœ๊ฐ„๋งˆ๋‹ค ์ตœ์ ์˜ ์„ ํƒ์„ ํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ ์ˆœ๊ฐ„์— ๋Œ€ํ•ด์„œ๋Š” ์ตœ์ ์ด์ง€๋งŒ, ์ตœ์ข…์ ์ธ ๋‹ต์„ ๋งŒ๋“ค์—ˆ์„ ๋•Œ์—๋Š” ๊ทธ ๋‹ต์ด ์ตœ์ ์ด ์•„๋‹ ์ˆ˜ ์žˆ์Œ. ์ฆ‰, ์ตœ์ ์˜ ๋‹ต์ด ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Œ. ๐Ÿ“– ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ 1. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋„ˆ๋ฌด ๋Š๋ ค์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€์ผ ๋•Œ 2. ์• ์ดˆ๋ถ€ํ„ฐ ์ตœ์ ์˜ ๋‹ต์ด ํ•„์š” ์—†์„ ๋•Œ ์‚ฌ์šฉ 3. ์ˆœ๊ฐ„์˜ ์ตœ์ ์˜ ์„ ํƒ์ด ์ตœ์ข… ๋‹ต์—์„œ๋„ ์ตœ์ ์˜ ์„ ํƒ์ด ๋˜๋Š” ๊ฒฝ์šฐ 3๋ฒˆ๊ณผ ๊ฐ™์ด ๊ทธ๋ฆฌ๋”” ์•Œ..

python 2023. 3. 1. 18:05
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : Dynamic Programming ์—ฐ์Šต๋ฌธ์ œ

2023.02.28 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž Dynamic Programming ์—ฐ์Šต๋ฌธ์ œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ƒˆ๊ผผ๋‹ฌ๊ผผ์œผ๋กœ ๋ฒŒ์–ด๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ˆ˜์ต ๊ตฌํ•˜๊ธฐ price_list : ๊ฐœ์ˆ˜๋ณ„ ๊ฐ€๊ฒฉ์ด ์ •๋ฆฌ๋˜์–ด ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ count : ํŒ๋งคํ•  ์ƒˆ๊ผผ๋‹ฌ๊ผผ ๊ฐœ์ˆ˜ cache : ๊ฐœ์ˆ˜๋ณ„ ์ตœ๋Œ€ ์ˆ˜์ต์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์‚ฌ์ „ ๐Ÿ“– memoization์œผ๋กœ ๋ฌธ์ œ ํ’€๊ธฐ โ‘  base case : 0๊ฐœ ํŒ”์•˜์„ ๋•Œ ํ˜น์€ 1๊ฐœ ํŒ”์•˜์„ ๋•Œ์—๋Š” price_list์˜ ๊ฐ€๊ฒฉ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ โ‘ก recursive case : ์ตœ๋Œ€ ์ˆ˜์ต ๊ตฌํ•˜๊ธฐ 1๊ฐœ ํŒ”์•˜์„ ๋•Œ ์ˆ˜์ต : 100 2๊ฐœ ํŒ”์•˜์„ ๋•Œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ต : (1๊ฐœ, 1๊ฐœ) ํŒ”์•˜์„ ๋•Œ ํ˜น์€ (2๊ฐœ, 0๊ฐœ) ํŒ”์•˜์„ ๋•Œ 3๊ฐœ ํŒ”์•˜์„ ๋•Œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ต : (1๊ฐœ, 2๊ฐœ) ํŒ”์•˜์„ ๋•Œ ํ˜น์€ (3๊ฐœ, 0๊ฐœ) ํŒ”์•˜..

python 2023. 2. 28. 15:44
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : Dynamic Programming

2023.02.27 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž Dynamic Programming ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๋” ์ž‘๊ณ  ๊ฐ„๋‹จํ•œ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ๊ฐ๊ฐ์˜ ํ•˜์œ„ ๋ฌธ์ œ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ํ’€๊ณ , ๊ฐ ํ•˜์œ„ ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์ฑ…์„ ํ‘œ์— ์ €์žฅํ•œ ํ›„ ํ•„์š”์— ๋”ฐ๋ผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„. Dynamic Programming์˜ ์กฐ๊ฑด 1. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ (Optimal Substructure) ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์˜ ์ตœ์ ์˜ ๋‹ต์„ ์ด์šฉํ•˜์—ฌ ๊ธฐ์กด ๋ฌธ์ œ์˜ ์ตœ์ ์˜ ๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ. ์ฆ‰, ๊ธฐ์กด ๋ฌธ์ œ๋ฅผ ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ’€ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ. (ex. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด) 2. ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ (Overlapping Subproblems) ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด๊ณผ ๊ฐ™์ด ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ์—๋Š” ์ค‘๋ณต ๋˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค..

python 2023. 2. 27. 20:02
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : Divide and Conquer (ํ•ฉ๋ณ‘ ์ •๋ ฌ, ํ€ต ์ •๋ ฌ)

2023.02.25 ~ 2023.02.26 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž Divide and Conquer ๋ถ„ํ•  ์ •๋ณต ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜(Divide and Conquer algorithm)์€ ๊ทธ๋Œ€๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. ํ€ต ์ •๋ ฌ์ด๋‚˜ ํ•ฉ๋ณ‘ ์ •๋ ฌ๋กœ ๋Œ€ํ‘œ๋˜๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์™€ ์ด์ง„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ–‰๋ ฌ ๊ณฑ์…ˆ ๋“ฑ์ด ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉ ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ณดํ†ต ์žฌ๊ท€ ํ•จ์ˆ˜(recursive function)๋ฅผ ํ†ตํ•ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ตฌํ˜„๋จ. ๋”ฐ๋ผ์„œ ๋ถ„ํ•  ์ •๋ณต์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์žฌ๊ท€ ๊ฐœ๋…์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์šฐ์„ ํ•จ. function F(x) : # base case if F(x)์˜ ๋ฌธ์ œ๊ฐ€ ๊ฐ„๋‹จ: return F(x)์„ ์ง์ ‘ ๊ณ„์‚ฐํ•œ ๊ฐ’ # ์žฌ๊ท€ํ•จ์ˆ˜ x๋ฅผ y1๊ณผ y2๋กœ ๋ถ„ํ•  F..

python 2023. 2. 26. 18:49
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : Brute Force

2023.02.24 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„(algorithm paradigm) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ์Œ. ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋‹ค ๋ณด๋ฉด ํ•ด๊ฒฐ ๊ณผ์ •์ด ๋น„์Šทํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๊ฒƒ์„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋ผ๊ณ  ํ•จ. ์ฆ‰, ์–ด๋– ํ•œ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ๋ฒ• ํ˜น์€ ๋ฐฉ๋ฒ•๋ก . ๋ช‡ ๊ฐ€์ง€ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ์žˆ์œผ๋ฉฐ, ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ์ž์‹ ๋งŒ์˜ ๊ธฐ์ˆ ๊ณผ ๋„๊ตฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ. ๋˜ํ•œ, ํ•˜๋‚˜์˜ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„์œผ๋กœ ํ•œ ๋ฌธ์ œ์— ์ ‘๊ทผํ•  ์ˆ˜๋„ ์žˆ์Œ. ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ 1. Greedy Algorithms 2. Divide and Conquer 3. Dynamic Programming 4. Backtrack..

python 2023. 2. 24. 20:49
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜(algorithm) / ์„ ํ˜• ํƒ์ƒ‰ / ์ด์ง„ ํƒ์ƒ‰ / ์„ ํƒ ์ •๋ ฌ / ์‚ฝ์ž… ์ •๋ ฌ / ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ‰๊ฐ€ - ์‹œ๊ฐ„ ๋ณต์žก๋„ & Big-O ์ ๊ทผํ‘œ๊ธฐ๋ฒ•

2023.02.22 ~ 2023.02.23 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž ์•Œ๊ณ ๋ฆฌ์ฆ˜(algorithm) ์ˆ˜ํ•™๊ณผ ์ปดํ“จํ„ฐ๊ณผํ•™, ์–ธ์–ดํ•™ ๋˜๋Š” ์—ฎ์ธ ๋ถ„์•ผ์—์„œ ์–ด๋– ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ •ํ•ด์ง„ ์ผ๋ จ์˜ ์ ˆ์ฐจ ๊ณ„์‚ฐ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„์  ์ ˆ์ฐจ๋ฅผ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•จ ์ฆ‰, ๋ฌธ์ œ ํ’€์ด์— ํ•„์š”ํ•œ ๊ณ„์‚ฐ์ ˆ์ฐจ ๋˜๋Š” ์ฒ˜๋ฆฌ ๊ณผ์ •์˜ ์ˆœ์„œ๋ฅผ ๋œปํ•จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์—ฐ์‚ฐ, ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹(๊ธฐ๊ณ„ ํ•™์Šต) ๋˜๋Š” ์ž๋™ํ™”๋œ ์ถ”๋ก ์„ ์ˆ˜ํ–‰ ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•„๋ž˜ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•จ 1. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ 2. ๋ฌธ์ œ๋ฅผ ๋” ์ž˜ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ ๐Ÿ”Ž ์ปดํ“จํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ปดํ“จํ„ฐ๊ฐ€ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ฆฌ๋˜์–ด ์žˆ๋Š” ์ผ๋ จ์˜ ๊ณผ์ • ํ˜น์€ ๋ฐฉ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๊ณ„ํ•  ๋•Œ ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„ ๋ณต์žก์„ฑ์„ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ ๐Ÿ“– ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—… ๋“ฃ๊ธฐ ์ „ ๋ณต์Šต โš™ ํŒฐ๋ฆฐ๋“œ..

python 2023. 2. 23. 18:14
[ํŒŒ์ด์ฌ] ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ ๋‚ด์šฉ ์ •๋ฆฌ ๋ฐ ์š”์•ฝ

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ๋„์—„๋„์—„ ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค ๋ณด๋‹ˆ ๊ฐ๊ฐ์˜ ๋‚ด์šฉ์ด ๋จธ๋ฆฟ์†์— ํฉ์–ด์ ธ ์žˆ์–ด ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๋‚ด๊ฐ€ ๋ฐฐ์šด ๋‚ด์šฉ์€ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์ด๋ฏ€๋กœ ์ถ”ํ›„ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋  ๋‚ด์šฉ์€ ๊ณต๋ถ€ ํ›„์— ๋‹ค์‹œ ์ •๋ฆฌํ•ด์„œ ์—…๋กœ๋“œ ํ•ด๋ณด๊ฒ ๋‹ค. โ€ป ์ฃผ์˜์ ์€ ๋‚ด๊ฐ€ ๋“ค์€ ๊ฐ•์˜, ๋ธ”๋กœ๊ทธ ์ž๋ฃŒ ๋“ฑ์„ ๋ชจ์•„ ๋‚ด๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋‚˜์˜ ์ƒ๊ฐ์„ ์ž‘์„ฑํ•œ ๋‚ด์šฉ์ด๋ฏ€๋กœ ์ž‘์„ฑํ•œ ๋‚ด์šฉ ์ค‘ ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํŒŒ์ด์ฌ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ ๋‚ด์šฉ ์ •๋ฆฌ์˜ ์‹œ์ž‘์€ ์•„๋ž˜์˜ ๋ฌธ์žฅ์œผ๋กœ ์‹œ์ž‘ํ•ด๋ณด๋ ค ํ•œ๋‹ค. ํŒŒ์ด์ฌ์€ ์ˆœ์ˆ˜ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. ์ด ๋ฌธ์žฅ์˜ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๋จผ์ € ์•Œ์•„์•ผ ํ•  ๊ฒƒ์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์ด๋ฉฐ, ๊ทธ ์•ˆ์—์„œ ๋˜ ๊ฐ์ฒด๋ž€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ด์— ๋Œ€ํ•ด ์ดํ•ด๋ฅผ ์‹œ์ž‘ํ•ด..

python 2023. 2. 22. 16:50
[ํŒŒ์ด์ฌ] ์ˆœ์ˆ˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด / ๊ฐ€๋ณ€ ๊ฐ์ฒด vs ๋ถˆ๋ณ€ ๊ฐ์ฒด / ์œ ์šฉํ•œ ํ•จ์ˆ˜ / ๋ชจ๋“ˆ

2023.02.21 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ์ •๋ฆฌ ๐Ÿ”Ž ํŒŒ์ด์ฌ์€ ์ˆœ์ˆ˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด? ํŒŒ์ด์ฌ์€ ์ˆœ์ˆ˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค. ์ฆ‰, ํŒŒ์ด์ฌ์˜ ๋ชจ๋“  ๊ฒƒ์€ ๊ฐ์ฒด๋ผ๋Š” ์˜๋ฏธ ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž, ํ•จ์ˆ˜, ๋ฆฌ์ŠคํŠธ, ๋ฌธ์ž์—ด ๋“ฑ์€ ๋ชจ๋‘ ์–ด๋–ค ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ โ–ผโ–ผโ–ผ type ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ user1์˜ ํด๋ž˜์Šค ์ถœ๋ ฅ โ–ผโ–ผโ–ผ __main__ ๋Š” ์ง€๊ธˆ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํŒŒ์ผ์„ ๋‚˜ํƒ€๋ƒ„. ์ฆ‰, ์ง€๊ธˆ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋Š” ํŒŒ์ผ์˜ User ํด๋ž˜์Šค๋ฅผ ๋œปํ•จ โ–ผโ–ผโ–ผ type ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜•์˜ ํด๋ž˜์Šค ์ถœ๋ ฅ โ–ผโ–ผโ–ผ ์ •์ˆ˜, ๋ฌธ์ž์—ด, ๋ฆฌ์ŠคํŠธ, ์‚ฌ์ „, ํŠœํ”Œ, ํ•จ์ˆ˜ ๋“ฑ ๋ชจ๋‘ ์–ด๋–ค ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋“ค ์ด๋Ÿฌํ•œ ํด๋ž˜์Šค๋“ค์€ ํŒŒ์ด์ฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋“ค์„ ํด๋ž˜์Šค๋กœ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋‘” ๊ฒƒ ๋งŒ์•ฝ, ํŒŒ์ด์ฌ์—์„œ ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ๋ณ€์ˆ˜์— 1์„ ๋Œ€..

python 2023. 2. 21. 22:01
[ํŒŒ์ด์ฌ] ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ / ํด๋ž˜์Šค / ๋ฉ”์„œ๋“œ

2023.02.20 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ์ •๋ฆฌ ๐Ÿ”Ž ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๐Ÿ“– ๊ฐ์ฒด (object) ์†์„ฑ๊ณผ ํ–‰๋™์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์กด์žฌ ์šฐ๋ฆฌ๊ฐ€ ์‚ด์•„๊ฐ€๋ฉด์„œ ๋ณด๋Š” ๋ชจ๋“  ์กด์žฌ ํ˜„์‹ค์— ์กด์žฌํ•˜๋“ , ๊ฐ€์ƒ์œผ๋กœ ์กด์žฌํ•˜๋“  ์ƒ๊ด€์—†์ด ์†์„ฑ๊ณผ ํ–‰๋™์„ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ชจ๋‘ ๊ฐ์ฒด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ ์ž๋™์ฐจ ์†์„ฑ : ์ƒ‰์ƒ, ํฌ๊ธฐ, ์ขŒ์„์ˆ˜, ... ํ–‰๋™ : ์‹œ๋™์„ ๊ฑธ๋‹ค, ์—‘์…€์„ ๋ฐ์œผ๋ฉด ์•ž์œผ๋กœ ๋‚˜๊ฐ„๋‹ค, ๋ธŒ๋ ˆ์ดํฌ๋ฅผ ๋ฐŸ์œผ๋ฉด ๋ฉˆ์ถ˜๋‹ค, ... ์ธ์Šคํƒ€๊ทธ๋žจ ์œ ์ € ์†์„ฑ : ์ด๋ฉ”์ผ ์ฃผ์†Œ, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์นœ๊ตฌ ๋ชฉ๋ก, ... ํ–‰๋™ : ์ข‹์•„์š”, ํŒ”๋กœ์šฐ, ... ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์†์„ฑ์€ ๋ณ€์ˆ˜๋กœ ํ–‰๋™์€ ๋ฉ”์†Œ๋“œ(ํ•จ์ˆ˜)๋กœ ์ •์˜๋จ ๐Ÿ“– ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ๋œ ๊ฐ์ฒด๋“ค๊ณผ ๊ทธ ๊ฐ์ฒด๋“ค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ํŒŒ์•…ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ ‘๊ทผ๋ฒ• (ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ์„ค๊ณ„ํ–ˆ๋‹ค...

python 2023. 2. 20. 21:07
[ํŒŒ์ด์ฌ] ๋ฌธ์ž์—ด ํฌ๋งคํŒ…

ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ณต์žกํ•œ ๋ฌธ์ž์—ด ์ถœ๋ ฅ์„ ์œ„ํ•œ ๋ฌธ์ž์—ด ํ˜•์‹ํ™”(string formatting)์„ ์ง€์›ํ•จ ๋ฌธ์ž์—ด์„ ํ˜•์‹ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” % ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹, format ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹, f๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ์Œ ๐Ÿ”Ž % ๊ธฐํ˜ธ๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ž์—ด ํฌ๋งคํŒ… ๋ฌธ์ž์—ด ๋’ค์— % ๊ธฐํ˜ธ๋ฅผ ๋ถ™์ด๊ณ  ๊ทธ ๋’ค์— ๊ฐ’์„ ๋ถ™์ด๋ฉด ๋’ค์— ๋ถ™์€ ๊ฐ’์ด ๋ฌธ์ž์—ด ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ ํ˜•์‹ ์ง€์ • ๋ฌธ์ž์—ด ์˜๋ฏธ %s ๋ฌธ์ž์—ด %d ์ •์ˆ˜ %f ๋ถ€๋™์†Œ์ˆ˜์  ์‹ค์ˆ˜ โ–ผโ–ผโ–ผ % ๊ธฐํ˜ธ๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ž์—ด ํฌ๋งคํŒ… ์‚ฌ์šฉ ์˜ˆ โ–ผโ–ผโ–ผ ์ถœ๋ ฅ ๊ฒฐ๊ณผ %๊ธฐํ˜ธ ๋‹ค์Œ์— ์˜ค๋Š” ์ •์ˆ˜๋Š” ๊ฐ’์ด ์ธ์‡„๋  ๋•Œ๊นŒ์ง€ ์ฐจ์ง€ํ•˜๋Š” ๊ณต๋ฐฑ์˜ ๊ธธ์ด๋ฅผ ๋œปํ•œ๋‹ค. ๋งŒ์•ฝ ๊ณต๊ฐ„์˜ ๊ธธ์ด๊ฐ€ ์ธ์‡„๋  ๊ฐ’๋ณด๋‹ค ํฌ๋ฉด ์ •์ˆ˜๊ฐ€ ์–‘์ˆ˜์ผ ๋•Œ๋Š” ๊ฐ’์„ ๋’ค๋กœ ๋ณด๋‚ด๊ณ  ๊ณต๋ฐฑ์„ ์•ž์— ์ฑ„์šฐ๊ฑฐ๋‚˜ ๋ฐ˜๋Œ€๋กœ ์ •์ˆ˜๊ฐ€ ์Œ์ˆ˜์ด๋ฉด ๊ฐ’์„ ์•ž์œผ๋กœ ๋ณด๋‚ด๊ณ  ๊ณต๋ฐฑ์„ ๋’ค์—..

python 2023. 2. 19. 13:39