๋ชฉ๋ก๐Ÿฆฅ ์ฝ”ํ…Œ/์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with python (41)

๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_42_์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•

220401 ์ž‘์„ฑ 1. ์ˆ˜ ์ž๋ฃŒํ˜• ์ •์ˆ˜ํ˜• ์‹ค์ˆ˜ํ˜• - ๋ฌดํ•œ : 1e9 = 10์˜ 9์ œ๊ณฑ = 1,000,000,000 - round() : ์ฒซ๋ฒˆ์งธ ์ธ์ž๋Š” ์‹ค์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ, ๋‘๋ฒˆ์งธ ์ธ์ž๋Š” ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ ์žํ•˜๋Š” ์œ„์น˜ print(round(a, 4)) ์ˆ˜ ์ž๋ฃŒํ˜• ์—ฐ์‚ฐ - ์‚ฌ์น™์—ฐ์‚ฐ : + - * / : % ๋‚˜๋จธ์ง€ : // ๋ชซ : ** ๊ฑฐ๋“ญ์ œ๊ณฑ 2. ๋ฆฌ์ŠคํŠธ ์ž๋ฃŒํ˜• : append(), remove() ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ a = [1, 3, 5, 3] a = list() n = 10 b = [0] * 10 ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์‹ฑ๊ณผ ์Šฌ๋ผ์ด์‹ฑ : ์ธ๋ฑ์Šค๊ฐ’์„ ์ž…๋ ฅํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ์˜ ํŠน์ •ํ•œ ์›์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ์ธ๋ฑ์‹ฑ : -1๋Š” ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ์›์†Œ๊ฐ€ ์ถœ๋ ฅ : ๋ฆฌ์ŠคํŠธ์—์„œ ์—ฐ์†์ ์ธ ์œ„์น˜๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ๋Š” ์Šฌ๋ผ์ด์‹ฑ ์ด์šฉ ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜ : ๋ฆฌ์ŠคํŠธ ์ดˆ๊ธฐํ™” : ..

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_41_๊ฐœ๋ฐœํ˜• ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ

220216 ์ž‘์„ฑ https://www.youtube.com/watch?v=4u6tndiG7Iw&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=41 1. ๊ฐœ๋ฐฉํ˜• ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ : ์ •ํ•ด์ง„ ๋ชฉ์ ์— ๋”ฐ๋ผ์„œ ๋™์ž‘ํ•˜๋Š” ์™„์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœ : ๋ชจ๋“ˆ์„ ์ ์ ˆํžˆ ์กฐํ•ฉํ•˜๋Š” ๋Šฅ๋ ฅ ์š”๊ตฌ +) ํ•ด์ปค์Šค : ๋‹จ๊ธฐ๊ฐ„์— ์•„์ด๋””์–ด๋ฅผ ์ œํ’ˆํ™”ํ•จ 2. ์„œ๋ฒ„ & ํด๋ผ์ด์–ธํŠธ : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ(Request) ์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต(Response) ํ•œ๋‹ค - ํด๋ผ์ด์–ธํŠธ : ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์ด ๋„์ฐฉํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค : ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต ๋ฐ›์€๋’ค, ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ํ™”๋ฉด์— ์ถœ๋ ฅ - ์„œ๋ฒ„ : ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด ์‘๋‹ต์„ ์ „์†ก 3. HTTP (HyperText Ttransfer Protocol)..

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_40_๊ตฌ๊ฐ„ ํ•ฉ ๋น ๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•˜๊ธฐ

220216 ์ž‘์„ฑ https://www.youtube.com/watch?v=kqyHnoriStk&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=40 1. ๊ตฌ๊ฐ„ ํ•ฉ (interval sum) : ์—ฐ์†์ ์œผ๋กœ ๋‚˜์—ด๋œ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์žˆ์„ ๋•Œ, ํŠน์ • ๊ตฌ๊ฐ„์˜ ๋ชจ๋“  ์ˆ˜๋ฅผ ํ•ฉํ•œ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฌธ์ œ 1) N๊ฐœ์˜ ์ •์ˆ˜๋กœ ๊ตฌ์—ด๋œ ์ˆ˜์—ด 2) M๊ฐœ์˜ ์ฟผ๋ฆฌ ์ •๋ณด ์ฃผ์–ด์ง - ๊ฐ ์ฟผ๋ฆฌ๋Š” LEFT, RIGHT ์œผ๋กœ ๊ตฌ์„ฑ - ๊ฐ ์ฟผ๋ฆฌ์— ๋Œ€ํ•˜์—ฌ [LEFT, RIGHT] ๊ตฌ๊ฐ„์— ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋“ค์˜ ํ•ฉ ์ถœ๋ ฅ 3) O(N+M) 2. ์ ‘๋‘์‚ฌ ํ•ฉ (Prefix sum) : ๋ฐฐ์—ด์˜ ๋งจ ์•ž๋ถ€ํ„ฐ ํŠน์ • ์œ„์น˜๊นŒ์ง€์˜ ํ•ฉ ๋ฏธ๋ฆฌ ๊ตฌํ•˜๊ธฐ - N๊ฐœ์˜ ์ˆ˜ ์œ„์น˜ ๊ฐ๊ฐ์— ๋Œ€ํ•˜์—ฌ ์ ‘๋‘์‚ฌ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜์—ฌ P์— ์ €์žฅ - ๋งค M๊ฐœ์˜ ์ฟผ๋ฆฌ ์ •๋ณด๋ฅผ ..

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_39_ํˆฌ ํฌ์ธํ„ฐ

220216 ์ž‘์„ฑ https://www.youtube.com/watch?v=ttLRltNDiCo&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=39 1. ํˆฌ ํฌ์ธํ„ฐ (Two Pointers) : ๋ฆฌ์ŠคํŠธ์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•  ๋•Œ ๋‘ ๊ฐœ์˜ ์ ์˜ ์œ„์น˜๋ฅผ ๊ธฐ๋กํ•˜๋ฉด์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๋ฆฌ์ŠคํŠธ์— ๋‹ด๊ธด ๋ฐ์ดํ„ฐ์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•  ๋•Œ๋Š” ์‹œ์ž‘๊ณผ ๋์  2๊ฐœ์˜ ์ ์œผ๋กœ ์ ‘๊ทผํ•  ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„ ํ‘œํ˜„ํ•œ๋‹ค EX) ํŠน์ •ํ•œ ํ•ฉ์„ ๊ฐ€์ง€๋Š” ๋ถ€๋ถ„ ์—ฐ์† ์ˆ˜์—ด ์ฐพ๊ธฐ - N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ์ˆ˜์—ด - ํ•ฉ์ด M์ธ ๋ถ€๋ถ„ ์—ฐ์† ์ˆ˜์—ด์˜ ๊ฐœ์ˆ˜ - ์ˆ˜ํ–‰ ์‹œ๊ฐ„ O(N) 1) ์‹œ์ž‘์ (strat)๊ณผ ๋์ (end)์ด ์ฒซ ๋ฒˆ์งธ ์›์†Œ์˜ ์ธ๋ฑ์Šค ๊ฐ€๋ฆฌํ‚ค๊ธฐ 2) ํ˜„์žฌ ๋ถ€๋ถ„ ํ•ฉ์ด M ๊ณผ ๊ฐ™๋‹ค๋ฉด ์นด์šดํŠธ 3) ํ˜„์žฌ ๋ถ€๋ถ„ ํ•ฉ์ด M..

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_38_์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

220216 ์ž‘์„ฑ https://www.youtube.com/watch?v=9rLFFKmKzno&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=38 1. ๋‹ค์ˆ˜์˜ ์†Œ์ˆ˜ ํŒ๋ณ„ : ํŠน์ •ํ•œ ์ˆ˜์˜ ๋ฒ”์œ„ ์•ˆ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์†Œ์ˆ˜ ์ฐพ์„ ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ?? 2. ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๋‹ค์ˆ˜์˜ ์ž์—ฐ์ˆ˜์— ๋Œ€ํ•˜์—ฌ ์†Œ์ˆ˜ ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•  ๋•Œ ์‚ฌ์šฉ : N๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๋ชจ๋“  ์†Œ์ˆ˜ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ 1) 2๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๋ชจ๋“  ์ž์—ฐ์ˆ˜ ๋‚˜์—ด 2) ๋‚จ์€ ์ˆ˜ ์ค‘ ์•„์ง ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์€ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜ i ์ฐพ๊ธฐ 3) ๋‚จ์€ ์ˆ˜ ์ค‘ i์˜ ๋ฐฐ์ˆ˜ ๋ชจ๋‘ ์ œ๊ฑฐ (i ๋Š” ์ œ๊ฑฐ X) 4) ๋” ์ด์ƒ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ 2๋ฒˆ, 3๋ฒˆ ๊ณผ์ • ๋ฐ˜๋ณต python import math n = 1000 # 2๋ถ€ํ„ฐ 1,000๊นŒ์ง€์˜ ๋ชจ..

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_ 36_์œ„์ƒ ์ •๋ ฌ

220213 ์ž‘์„ฑ https://www.youtube.com/watch?v=xeSz3pROPS8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=36 1. ์œ„์ƒ ์ •๋ ฌ : ์‚ฌ์ดํด์ด ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉํ–ฅ์„ฑ์— ๊ฑฐ์Šค๋ฅด์ง€ ์•Š๋„๋ก ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ 2. ์ง„์ž…์ฐจ์ˆ˜, ์ง„์ถœ์ฐจ์ˆ˜ - ์ง„์ž…์ฐจ์ˆ˜ (Indegree) : ํŠน์ •ํ•œ ๋…ธ๋“œ๋กœ ๋“ค์–ด์˜ค๋Š” ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ - ์ง„์ถœ์ฐจ์ˆ˜ (Outdegree) : ํŠน์ • ๋…ธ๋“œ์—์„œ ๋‚˜๊ฐ€๋Š” ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ 3. ์œ„์ƒ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ + ํ ์ด์šฉ 1) ์ง„์ž…์ฐจ์ˆ˜๊ฐ€ 0์ธ ๋ชจ๋“  ๋…ธ๋“œ์— ํ๋ฅผ ๋„ฃ๋Š”๋‹ค 2) ํ๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ๋‹ค์Œ์˜ ๊ณผ์ • ๋ฐ˜๋ณต - ํ์—์„œ ์›์†Œ๋ฅผ ๊บผ๋‚ด ํ•ด๋‹น ๋…ธ๋“œ์—์„œ ๋‚˜๊ฐ€๋Š” ๊ฐ„์„ ์„ ๊ทธ๋ž˜ํ”„์—์„œ ์ œ๊ฑฐ - ์ƒˆ๋กญ๊ฒŒ ์ง„์ž…์ฐจ์ˆ˜๊ฐ€ 0์ด ๋œ ๋…ธ๋“œ๋ฅผ ํ์— ๋„ฃ๋Š”๋‹ค => ๊ฐ ๋…ธ..

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_35_ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

220213 ์ž‘์„ฑ https://www.youtube.com/watch?v=Gj7s-Nrt1xE&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=35 1. ์‹ ์žฅํŠธ๋ฆฌ : ๊ทธ๋ž˜ํ”„์—์„œ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํฌํ•จํ•˜๋ฉด์„œ ์‚ฌ์ดํด์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„ ๊ทธ๋ž˜ํ”„ : ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์„œ๋กœ ์—ฐ๊ฒฐ๋˜๋ฉด์„œ ์‚ฌ์ดํด์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์กฐ๊ฑด์€ ํŠธ๋ฆฌ์œผ ใ…ฃ์กฐ๊ฑด! 2. ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ : ์ตœ์†Œํ•œ์˜ ๋น„์šฉ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ์‹ ์žฅ ํŠธ๋ฆฌ ์ฐพ๊ธฐ! ex) N๊ฐœ์˜ ๋„์‹œ๊ฐ€ ์กด์žฌํ•˜๋Š” ์ƒํ™ฉ์—์„œ ๋‘ ๋„์‹œ ์‚ฌ์ด์— ๋„๋กœ๋ฅผ ๋†“์•„ ์ „์ฒด ๋„์‹œ๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๊ฒŒ ๋„๋กœ๋ฅผ ์„ค์น˜ ๋‘ ๋„์‹œ A, B ์„ ํƒํ–ˆ์„ ๋•Œ A์—์„œ B๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•˜๋„๋ก ๋„๋กœ ์„ค์น˜ 3. ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๋Œ€ํ‘œ์ ์ธ ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ : ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1) ..