์ค๋ฒ1 : ์ด๋ถ ํ์, Parametric Search ๋ฌธ์ ์ด๋ค.
์๊ฐ
์ฒ์์ ์ด ๋ฌธ์ ๋ฅผ ํ ๋, ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ๋ก ํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ, ๋ฌธ์ ๊ฐ ์๊ฒผ๋ค. ๊ทธ๋ ๊ฒ ๊ตฌํํ๋ ค๋ฉด, 100000๊ฐ ๋ฅผ 50000๊ฐ์ ๋ธ๋ฃจ๋ ์ด์ ๋ด์ผ๋ ค๊ณ ํ๋ค๋ฉด ๊ณ์ํด์ ์ฌ๊ท ํจ์๋ฅผ ํ๊ณ ๋ค์ด๊ฐ๋ฉฐ ๊ตฌํด์ผ ํ๋ค. ์๊ฐ ์ ํ์ด 2์ด์ด๊ณ , ๋ํ ์ฌ๊ทํจ์์ depth๊ฐ ๋๋ฌด ๊น์ด์ ธ ์ด ๋ฐฉํฅ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด ์๋๋ค๊ณ ํ๋จํ๋ค.
๊ณ ๋ฏผ์ ํ๋ ์ค, ๋ต์ ๋จผ์ ์ ์ํ๊ณ , ์ด ๋ต์ ๊ธฐ๋ฐ์ผ๋ก ์ญ์ผ๋ก ์ถ์ ํ๋ฉด ์ด๋จ๊นํ๋ ์๊ฐ์ด ๋ค์๋ค. ์ด ๋ฐฉ๋ฒ์ ํ๋ผ๋ฉํธ๋ฆญ ์์น(parametric Search)๋ผ ํ๋ค.
Parametric Search
์ต์ ํ ๋ฌธ์ ๋ฅผ ๊ฒฐ์ ๋ฌธ์ ๋ก ๋ฐ๊พธ์ด ํด๊ฒฐํ๋ค.
์ด์ง ํ์๊ณผ ๋น์ทํ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ค ์ํฉ์์ ์ฌ์ฉํ๋์ง ์์์ผ ํ๋ค. ์์ ๋ฌธ์ ๋ ๊ฒฐ๊ตญ, N๊ฐ์ ์
๋ ฅ์ด ๋ค์ด์์ ๋, ์ด๊ฑธ M๊ฐ๋ก ๋๋๊ณ , M๊ฐ๋ก ๋๋ ๊ฐ๊ฐ์ ๋ญํ
์ด๋ค ์ฌ์ด์์ ์ต๋๊ฐ๋ค์ ๋ฝ์ ๊ทธ๊ฒ์ ์ต์๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. (์?)
- ์ ๋ ฅ N์ M๊ฐ์ ์งํฉ์ผ๋ก ์๋ฅธ๋ค. ๋ค์ํ ๊ฐ์ง์๋ก ์๋ฅผ ์ ์๋ค. ์ด ๊ฐ์ง์๋ฅผ K๋ผ ํ์.
- ๊ทธ ์งํฉ๋ค์ ํฉ์ ๊ฐ๊ณ ์๋๋ค.
- ๊ทธ ์์๋ค์ ๊ฐ์ง๋ ์งํฉ L๋ฅผ ๋ง๋ ๋ค. (K์ ์์ ๊ฐ์๋ M๊ฐ, ๋ฐ์ํ๋ ์งํฉ L์ ๊ฐ์๋ K๊ฐ)
- ๋ฐ์ํ ๋ชจ๋ L ์งํฉ์ ๋ํด ์์๋ค์ ์ต๋๊ฐ์ ๊ตฌํ๋ค. ๊ทธ ์ต๋๊ฐ์ ๋ชจ์ ์งํฉ์ P๋ผ ํ์. (P์ ์์ ๊ฐ์๋ K๊ฐ)
- P์งํฉ์ ์์๋ค ์ค ์ต์๊ฐ์ ๊ตฌํ๋ค.
์์ ํ์์ ํ๋ค๋ฉด ์์ ๊ฐ์ด ํ ์ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ, ๊ฒฐ๊ตญ ์ด ๋ฌธ์ ๋ ์ต์ ์ ๋์คํฌ ํฌ๊ธฐ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์ด๋ฐ ๋ฌธ์ ์์ ์๋ก์ด ๋ฐ์์ ํ ์ ์๋๋ฐ, ๋ต์ ์ ์ํ๋ ๊ฒ์ด๋ค.
๋ฐฉ๋ฒ
์ด ๋ฌธ์ ์์ ๋ด๊ฐ ์ํ๋ ๊ฒ์ disk ํฌ๊ธฐ๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๋ค. ์ด disk ํฌ๊ธฐ๊ฐ ๋ ์ ์๋ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ๊ณ์ฐํด๋ณด์. N = 100000 ์ด๊ณ , ๊ฐ๊ฐ์ ๋์์ ์ฉ๋์ 10000์ด ์ต๋์ด๋ฏ๋ก, ์ด ๋์์ ๋ชจ๋๋ฅผ ํ disk์ ๋ฃ๋๋ค๋ฉด 1000000000ํฌ๊ธฐ๊ฐ ์ต๋์ด๋ค. ์ผ๋จ ์ดํด๋ฅผ ํ๋ ๊ณผ์ ์ด๊ธฐ์ ์ต๋๊ฐ์ 100์ด๋ผ ๊ฐ์ ํ๊ฒ ๋ค.
๊ณผ์ ์ ์ด๋ถ ํ์๊ณผ ๋น์ทํ๋ค. ๋ต์ด ๋ ์ ์๋ ์ต์, ์ต๋์์ ๋ฐ์ด ๋ต์ด ๋๋์ง ๋์ง ์๋์ง ํ๋จํ๋ค.
๋๋ฌด ๋์คํฌ ํฌ๊ธฐ๊ฐ ์๋ค๋ฉด ์ค๋ฅธ์ชฝ์ ํ์ํ๋ค.
๋๋ฌด ๋์คํฌ ํฌ๊ธฐ๊ฐ ํฌ๋ค๋ฉด ์ผ์ชฝ์ ํ์ํ๋ค.
์์ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ๋ต์ ๋์ถํ๋ค.
๊ฒฐ๊ตญ ์ ๋ฐฉ๋ฒ์ ํต์ฌ์, ์ํ๋ ๋ต์ ๋ฒ์๋ฅผ ์ค์ ํ๊ณ ์ด ๊ฐ์ด ๋๋์ง ์๋๋์ง๋ฅผ ํ์ ํ๋ค. ์ด๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ธฐ๋ก ๋ง์ ๋จน์๋ค๋ฉด, ์ด๋ ํ ์กฐ๊ฑด์์ ํ์์ ๋ฐฉํฅ์ ๋ฐ๊ฟ ์ ์๋์ง, ํด๋น ๋ฌธ์ ์ ํน์ง์ ๋ฌด์์ธ์ง ํ์ธํด์ผ ํ๋ค.
๋ฌธ์ ์ ํน์ง
M๊ฐ์ disk๋ฅผ ์ฌ์ฉํ์ ๋, disk ํฌ๊ธฐ๊ฐ ๊ฐ์ฅ ์ค์ด๋ค ์ ์๋ค.
- ๋ง์ฝ 10๊ฐ์ disk๋ฅผ ์ฌ์ฉํ ์ ์๋ค๊ณ ํ์. ๊ทธ๋ ๋ค๋ฉด ๋ต์ N์ 10๊ฐ๋ก ๋๋์์ ๋ ๊ฐ์ฅ ์๊ฒ ๋๋ ์ ์๋ค.
- ๋ฌผ๋ก 10๊ฐ๋ณด๋ค ์ ์ ์์ disk๋ฅผ ์ฌ์ฉํด์ ๋๋์์ ๋ 10๊ฐ๋ฅผ ์ฌ์ฉํ์ ๋์ ๋ต๊ณผ ๊ฐ๊ฒ ๋์ฌ ์๋ ์๋ค.
- ๋ฐ๋ผ์ 10๊ฐ๋ณด๋ค ์ ์ ์์ disk๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ๋ต์ ์ ๋ฐ์ดํธ ํด์ฃผ๋ ๋์์ด ๋๋ค.
- ๋ํ M๊ฐ์ disk๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋น๊ตํด์ผ ํ๋ค.
์ฒ์์ M๊ฐ๋ก๋ง ๋๋๋ฉด ๋ต์ด๋ผ ํด์ ํ๋ ธ๋ค. ใ
ํ์ ์กฐ๊ฑด
์ ์ํ ๋ธ๋ฃจ๋ ์ด Size๋ฅผ ๊ฐ์ง๊ณ ๋ง๋ค์์ ๋ ๋์จ ๊ฐ์ด M๋ณด๋ค ํฌ๋ฉด Size๋ฅผ ํค์ด๋ค.
์ ์ํ Size๋ฅผ ๊ฐ์ง๊ณ N๋ฅผ ์ต๋ํ ๋๋ ๊ฒฐ๊ณผ ๊ฐ์ง๊ณ ์๋ ๋ธ๋ฃจ๋ ์ด ๊ฐฏ์(M)๋ณด๋ค disk๊ฐ ๋ ํ์ํ๋ค๋ ๊ฒฐ๋ก ์ด ๋์ค๋ฉด, ํ์ฌ disk ์ฌ์ด์ฆ๊ฐ ๋๋ฌด ์์ ๋ ํ์๋ก ํ๋ค๋ ๊ฒฐ๋ก ์ด๋ค. ๋ฐ๋ผ์ disk ํฌ๊ธฐ๋ฅผ ํค์์ผ ํ๋ค.
์ ์ํ ๋ธ๋ฃจ๋ ์ด Size๋ฅผ ๊ฐ์ง๊ณ ๋ง๋ค์์ ๋ ๋์จ ๊ฐ์ด M๋ณด๋ค ์์ผ๋ฉด ์ง๊ธ ์ ์ํ ๊ฐ์ ์ ๋ฐ์ดํธ ํ๋ค.
๋์จ ๊ฐ๊ณผ ์ด์ ์ ํ์ํ ๋ต ์ค ์ต์๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ ํ๋ค.
์ ์ํ๋ ๋ต์ video์ ๊ฐ๋ณด๋ค๋ ํญ์ ๊ฐ๊ฑฐ๋ ์ปค์ผํ๋ค.
1 2 3 4 5
๋ผ๋ video๊ฐ ๋ค์ด์จ๋ค๊ณ ๊ฐ์ ํ์. ์ด ๋, ๋ด๊ฐ ์ ์ํ๋ ๋ต์ 5๋ณด๋ค ํญ์ ๊ฐ๊ฑฐ๋ ์ปค์ผ ํ๋ค. ๋ง์ฝ 3์ด๋ผ๋ ๋ต์ ์ ์ํ๋ค๋ฉด 4์ 5๋ disk์ ๋ค์ด๊ฐ ์๋ ์์ผ๋ฏ๋ก ๋
ผ๋ฆฌ์์ ๋ฒ์ด๋๋ค.