• ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 29์ผ์ฐจ

    2021. 11. 29.

    by. JuneBee

    728x90
    ๋ฐ˜์‘ํ˜•

    ์‹œ์ฒญ ๊ฐ•์˜ : 03.์ด๋ถ„ ํƒ์ƒ‰ (Binary Search) -์‘์šฉํŽธ

    ์‹œ์ฒญ ๋‚ ์งœ : 11/29/2021

    ์˜ค๋Š˜ ์‹œ์ฒญํ•œ ๊ฐ•์˜๋Š” ์ด๋ถ„ ํƒ์ƒ‰ ์‘์šฉํŽธ์ด๋‹ค. ๊ฐ•์˜์—์„œ ๋ฌธ์ œ ํ’€์ด๋ฅผ ๋“ค์–ด๋ดค๋Š”๋ฐ ์•„์ง ํ˜ผ์ž ๋ชปํ’€๊ฒ ์–ด์„œ ์กฐ๊ธˆ ๋” ์‹œ๋„ํ•ด๋ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

    ๋งค๊ฐœ ๋ณ€์ˆ˜ ํƒ์ƒ‰ (Parametric Search)

    • ์˜ค๋ฆ„ ์ฐจ์ˆœ ๋ณด์žฅ
    • true / false ํ˜•ํƒœ์˜ ๋ฐฐ์—ด
    • ํŠน์ • ์ธ๋ฑ์Šค ๊ฐ’ O(T)์—์„œ ๊ณ„์‚ฐ ๊ฐ€๋Šฅ

    ex : up/down ๊ฒŒ์ž„
    1~ 10000๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘์—์„œ ํŠน์ •ํ•œ ์ˆซ์ž๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ฐพ๋Š” ๊ฒŒ์ž„. ๋งŒ์•ฝ ์ด ์ˆซ์ž๋ณด๋‹ค ํฌ๋ฉด yes, ์ž‘์œผ๋ฉด no
    yes ์ธ ๊ฒฝ์šฐ : ํ•ด๋‹น ์ˆซ์ž ์ด์ „์˜ ์ˆซ์ž๋“ค๋„ ์ „๋ถ€ yes ์ž„์„ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ์Œ
    worst case scenario : ๋ชจ๋“  ์ˆซ์ž๋ฅผ ์ „๋ถ€ ์ถ”์ธก ํ•ด ๋ณด๋Š” ๊ฒฝ์šฐ๋กœ O(10000)
    Generalize : worst case ๋Š” O(T)์ด๋‹ค

    ์ž์ฃผ ํ•˜๋Š” ์‹ค์ˆ˜

    • yes/ no๊ฐ€ ์•„๋‹Œ๋ฐ ๋งค๊ฐœ ๋ณ€์ˆ˜ ํƒ์ƒ‰์„ ํ•˜๋Š” ๊ฒฝ์šฐ
    • ๋ถ€๋“ฑํ˜ธ๋ฅผ ํ‹€๋ฆฌ๊ฒŒ ์‚ฌ์šฉ
    • ๋ฒ”์œ„๊ฐ€ ํ‹€๋ ธ์„ ๋•Œ

    ๋งค๊ฐœ ๋ณ€์ˆ˜ ํƒ์ƒ‰์˜ ํ‚ค์›Œ๋“œ

    • -์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜์‹œ์˜ค
    • -์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜์‹œ์˜ค

    ๋ฐฑ์ค€ 2805 - ๋‚˜๋ฌด์ž๋ฅด๊ธฐ ๋ฌธ์ œ

    ๋ฌธ์ œ

    ์ƒ๊ทผ์ด๋Š” ๋‚˜๋ฌด M๋ฏธํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๊ทผ์ฒ˜์— ๋‚˜๋ฌด๋ฅผ ๊ตฌ์ž…ํ•  ๊ณณ์ด ๋ชจ๋‘ ๋งํ•ด๋ฒ„๋ ธ๊ธฐ ๋•Œ๋ฌธ์—, ์ •๋ถ€์— ๋ฒŒ๋ชฉ ํ—ˆ๊ฐ€๋ฅผ ์š”์ฒญํ–ˆ๋‹ค. ์ •๋ถ€๋Š” ์ƒ๊ทผ์ด๋„ค ์ง‘ ๊ทผ์ฒ˜์˜ ๋‚˜๋ฌด ํ•œ ์ค„์— ๋Œ€ํ•œ ๋ฒŒ๋ชฉ ํ—ˆ๊ฐ€๋ฅผ ๋‚ด์ฃผ์—ˆ๊ณ , ์ƒ๊ทผ์ด๋Š” ์ƒˆ๋กœ ๊ตฌ์ž…ํ•œ ๋ชฉ์žฌ์ ˆ๋‹จ๊ธฐ๋ฅผ ์ด์šฉํ•ด์„œ ๋‚˜๋ฌด๋ฅผ ๊ตฌํ• ๊ฒƒ์ด๋‹ค.

    ๋ชฉ์žฌ์ ˆ๋‹จ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋™์ž‘ํ•œ๋‹ค. ๋จผ์ €, ์ƒ๊ทผ์ด๋Š” ์ ˆ๋‹จ๊ธฐ์— ๋†’์ด H๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋†’์ด๋ฅผ ์ง€์ •ํ•˜๋ฉด ํ†ฑ๋‚ ์ด ๋•…์œผ๋กœ๋ถ€ํ„ฐ H๋ฏธํ„ฐ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ„๋‹ค. ๊ทธ ๋‹ค์Œ, ํ•œ ์ค„์— ์—ฐ์†ํ•ด์žˆ๋Š” ๋‚˜๋ฌด๋ฅผ ๋ชจ๋‘ ์ ˆ๋‹จํ•ด๋ฒ„๋ฆฐ๋‹ค. ๋”ฐ๋ผ์„œ, ๋†’์ด๊ฐ€ H๋ณด๋‹ค ํฐ ๋‚˜๋ฌด๋Š” H ์œ„์˜ ๋ถ€๋ถ„์ด ์ž˜๋ฆด ๊ฒƒ์ด๊ณ , ๋‚ฎ์€ ๋‚˜๋ฌด๋Š” ์ž˜๋ฆฌ์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ ์ค„์— ์—ฐ์†ํ•ด์žˆ๋Š” ๋‚˜๋ฌด์˜ ๋†’์ด๊ฐ€ 20, 15, 10, 17์ด๋ผ๊ณ  ํ•˜์ž. ์ƒ๊ทผ์ด๊ฐ€ ๋†’์ด๋ฅผ 15๋กœ ์ง€์ •ํ–ˆ๋‹ค๋ฉด, ๋‚˜๋ฌด๋ฅผ ์ž๋ฅธ ๋’ค์˜ ๋†’์ด๋Š” 15, 15, 10, 15๊ฐ€ ๋  ๊ฒƒ์ด๊ณ , ์ƒ๊ทผ์ด๋Š” ๊ธธ์ด๊ฐ€ 5์ธ ๋‚˜๋ฌด์™€ 2์ธ ๋‚˜๋ฌด๋ฅผ ๋“ค๊ณ  ์ง‘์— ๊ฐˆ ๊ฒƒ์ด๋‹ค. (์ด 7๋ฏธํ„ฐ๋ฅผ ์ง‘์— ๋“ค๊ณ  ๊ฐ„๋‹ค) ์ ˆ๋‹จ๊ธฐ์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋†’์ด๋Š” ์–‘์˜ ์ •์ˆ˜ ๋˜๋Š” 0์ด๋‹ค.

    ์ƒ๊ทผ์ด๋Š” ํ™˜๊ฒฝ์— ๋งค์šฐ ๊ด€์‹ฌ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—, ๋‚˜๋ฌด๋ฅผ ํ•„์š”ํ•œ ๋งŒํผ๋งŒ ์ง‘์œผ๋กœ ๊ฐ€์ ธ๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ, ์ ์–ด๋„ M๋ฏธํ„ฐ์˜ ๋‚˜๋ฌด๋ฅผ ์ง‘์— ๊ฐ€์ ธ๊ฐ€๊ธฐ ์œ„ํ•ด์„œ ์ ˆ๋‹จ๊ธฐ์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋†’์ด์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

    ์ž…๋ ฅ

    ์ฒซ์งธ ์ค„์— ๋‚˜๋ฌด์˜ ์ˆ˜ N๊ณผ ์ƒ๊ทผ์ด๊ฐ€ ์ง‘์œผ๋กœ ๊ฐ€์ ธ๊ฐ€๋ ค๊ณ  ํ•˜๋Š” ๋‚˜๋ฌด์˜ ๊ธธ์ด M์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 1,000,000, 1 โ‰ค M โ‰ค 2,000,000,000)

    ๋‘˜์งธ ์ค„์—๋Š” ๋‚˜๋ฌด์˜ ๋†’์ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‚˜๋ฌด์˜ ๋†’์ด์˜ ํ•ฉ์€ ํ•ญ์ƒ M๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์—, ์ƒ๊ทผ์ด๋Š” ์ง‘์— ํ•„์š”ํ•œ ๋‚˜๋ฌด๋ฅผ ํ•ญ์ƒ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๋†’์ด๋Š” 1,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์–‘์˜ ์ •์ˆ˜ ๋˜๋Š” 0์ด๋‹ค.

    ์ถœ๋ ฅ

    ์ ์–ด๋„ M๋ฏธํ„ฐ์˜ ๋‚˜๋ฌด๋ฅผ ์ง‘์— ๊ฐ€์ ธ๊ฐ€๊ธฐ ์œ„ํ•ด์„œ ์ ˆ๋‹จ๊ธฐ์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋†’์ด์˜ ์ตœ๋Œ“๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

    ํ•ด์„

    ์œ„ ๋ฌธ์ œ๋Š” parametric search์˜ ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ๋กœ, ๋ฆฌ์›Œ๋”ฉ ํ•ด๋ณด๋ฉด,
    ์–ด๋–ค ๋†’์ด๋กœ ์ž˜๋ž์„ ๋•Œ, ์›ํ•˜๋Š” ๋†’์ด๋งŒํผ ์–ป์„ ์ˆ˜ ์žˆ๋Š”๊ฐ€ ? (yes/no)
    ๋ฌธ์ œ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๋˜ํ•œ, ๋‚˜๋ฌด์˜ ๋†’์ด ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— YES/NO๋ฅผ ์ฑ„์› ์„ ๋–„ ์ด๋ฏธ ์ •๋ ฌ์ด ๋˜์–ด์žˆ๋‹ค.

    ์ด๋ฅผ ํ† ๋Œ€๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด parameteric search ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผ ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


    ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ ๋ฐ”๋กœ๊ฐ€๊ธฐ๐Ÿ‘‰ https://bit.ly/3FVdhDa

     

    ์ˆ˜๊ฐ•๋ฃŒ 100% ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ | ํŒจ์ŠคํŠธ์บ ํผ์Šค

    ๋”ฑ 5์ผ๊ฐ„ ์ง„ํ–‰๋˜๋Š” ํ™˜๊ธ‰์ฑŒ๋ฆฐ์ง€๋กœ ์ˆ˜๊ฐ•๋ฃŒ 100% ํ™˜๊ธ‰๋ฐ›์œผ์„ธ์š”! ๋” ๋Šฆ๊ธฐ์ „์— ์ž๊ธฐ๊ณ„๋ฐœ ๋ง‰์ฐจ ํƒ‘์Šน!

    fastcampus.co.kr

    ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ ์ฐธ์—ฌ๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

    728x90
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€