์ด๋ถ„ ํƒ์ƒ‰๊ณผ Python์˜ bisect_left
IT/์ปดํ“จํŒ…์  ์‚ฌ๊ณ 2025. 3. 27. 20:31์ด๋ถ„ ํƒ์ƒ‰๊ณผ Python์˜ bisect_left

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

Python ์ปดํ”„๋ฆฌํ—จ์…˜ ๋ฐ ํ‘œํ˜„์‹ ์ •๋ฆฌ
IT/์ปดํ“จํŒ…์  ์‚ฌ๊ณ 2025. 3. 27. 17:14Python ์ปดํ”„๋ฆฌํ—จ์…˜ ๋ฐ ํ‘œํ˜„์‹ ์ •๋ฆฌ

Python์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณต๋ถ€ํ•  ๋•Œ ๋†“์น  ์ˆ˜ ์—†๋Š” ๊ฐœ๋…๋“ค ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ์ปดํ”„๋ฆฌํ—จ์…˜(comprehension)๊ณผ ํ‘œํ˜„์‹(expression)์ž…๋‹ˆ๋‹ค. Python์—์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” list comprehension, generator expression, conditional expression(์‚ผํ•ญ ์—ฐ์‚ฐ์ž) ๋“ฑ์„ ์ œ๊ณตํ•˜์—ฌ, ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉ ์‹œ ์„ฑ๋Šฅ(์‹คํ–‰์†๋„)๊ณผ ๊ฐ„๊ฒฐํ•จ์„ ๋‘˜ ๋‹ค ์žก์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ๊ฐ์ข… ์ปดํ”„๋ฆฌํ—จ์…˜ ๋ฐ ํ‘œํ˜„์‹์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.์•„์šธ๋Ÿฌ, ์ด๋“ค์— ๋žŒ๋‹ค(lambda)์‹๊นŒ์ง€ ์ ์šฉํ•œ ์˜ˆ์ œ๋„ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์‹œ๊ฒ ์Šต๋‹ˆ๋‹ค.๋ชฉ์ฐจ:1. List Comprehensions2. Set Comprehensions3. Dictionary Comprehensions4..

[์Šคํฌ๋žฉ]  CS:APP ๋น„ํŠธ์—ฐ์‚ฐ ๊ณผ์ œ bits.c ๋‹ต์•ˆ
IT/์ปดํ“จํŒ…์  ์‚ฌ๊ณ 2016. 11. 6. 15:45[์Šคํฌ๋žฉ] CS:APP ๋น„ํŠธ์—ฐ์‚ฐ ๊ณผ์ œ bits.c ๋‹ต์•ˆ

/* * CS:APP Data Lab * * bits.c - Source file with your solutions to the Lab. * This is the file you will hand in to your instructor. * * WARNING: Do not include the header; it confuses the dlc * compiler. You can still use printf for debugging without including * , although you might get a compiler warning. In general, * it's not good practice to ignore compiler warnings, but in this ..

image