๋“ฑ์ฐจ์ˆ˜์—ด์˜ํ•ฉ 1

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ํ•ฉ๊ณผ ์ด์ง„ ํƒ์ƒ‰(Binary Search)

int ans = 0;while(left  1๋ณด๋‹ค mid๊นŒ์ง€์˜ ํ•ฉ์ด S ๊ฐ’๋ณด๋‹ค ํฌ์ง€ ์•Š์œผ๋ฉด์„œ ๊ฐ€์žฅ ํฐ mid์˜ ๊ฐ’์„ ์ฐพ๋Š” ๊ณผ์ • ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ํ•ฉ ๊ณต์‹((์ฒซํ•ญ + ๋งˆ์ง€๋ง‰ํ•ญ) / 2) * ๊ฐœ์ˆ˜๋Š” ์ฆ‰, mid * ๊ฐœ์ˆ˜์ธ๋ฐ, ์—ฌ๊ธฐ์—์„œ์ฒ˜๋Ÿผ 1๋ถ€ํ„ฐ mid๊นŒ์ง€๋Š” ๊ฐœ์ˆ˜๊ฐ€ (mid+1)์ด ๋˜์–ด (mid*(mid+1))/2๋กœ ํ‘œํ˜„๋œ๋‹ค. ๊ณต์‹์œผ๋กœ ์ ‘๊ทผํ•  ์ƒ๊ฐ์„ ๋ชป ํ–ˆ์–ด์„œ ์ €๋Ÿฐ ์ˆ˜์‹์ด ์žˆ๊ธธ๋ž˜ ํ•œ์ฐธ์„ ๋“ค์—ฌ๋‹ค ๋ดค๋Š”๋ฐ ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ํ•ฉ์ด์—ˆ๋‹ค. ์–ด์ด๋Š” ์—†์—ˆ์ง€๋งŒ ๋•๋ถ„์— 1~mid์˜ ํ•ฉ์„ ์ด์ง„ ํƒ์ƒ‰์œผ๋กœ๋„ ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜๋Š” ๋˜‘๊ฐ™์ด ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ํ•ฉ ๊ณต์‹์„ ๋‹ค๋ฃจ์ง€๋งŒ ์ ‘๊ทผ๋ฒ•์ด ์ƒˆ๋กœ์›Œ์„œ ํ•œ๋ฒˆ ์ฐธ๊ณ ํ•ด ๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ์ˆ˜๋“ค์„ ๋„ํ˜•์œผ๋กœ ํ‘œํ˜„ํ•ด ๋„“์ด ๊ตฌํ•˜๋Š” ๊ณต์‹์œผ๋กœ ๊ตฌํ•˜์˜€๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ๋Š” ์ด ๊ณต์‹์œผ๋กœ ๊ท€๊ฒฐ๋œ๋‹ค.   [์ฐธ๊ณ : h..