๐ง ๋ฌธ์
์ถ๋ฐ์ง์ ๋ถํฐ distance๋งํผ ๋จ์ด์ง ๊ณณ์ ๋์ฐฉ์ง์ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ์ฌ์ด์๋ ๋ฐ์๋ค์ด ๋์ฌ์์ต๋๋ค. ๋ฐ์ ์ค ๋ช ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋์ฐฉ์ง์ ์ด 25๋งํผ ๋จ์ด์ ธ ์๊ณ , ๋ฐ์๊ฐ [2, 14, 11, 21, 17] ์ง์ ์ ๋์ฌ์์ ๋ ๋ฐ์ 2๊ฐ๋ฅผ ์ ๊ฑฐํ๋ฉด ์ถ๋ฐ์ง์ , ๋์ฐฉ์ง์ , ๋ฐ์ ๊ฐ์ ๊ฑฐ๋ฆฌ๊ฐ ์๋์ ๊ฐ์ต๋๋ค.
์ ๊ฑฐํ ๋ฐ์์ ์์น ๊ฐ ๋ฐ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ
[21, 17] [2, 9, 3, 11] 2
[2, 21] [11, 3, 3, 8] 3
[2, 11] [14, 3, 4, 4] 3
[11, 21] [2, 12, 3, 8] 2
[2, 14] [11, 6, 4, 4] 4
์์์ ๊ตฌํ ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ ์ค์ ๊ฐ์ฅ ํฐ ๊ฐ์ 4์ ๋๋ค.
์ถ๋ฐ์ง์ ๋ถํฐ ๋์ฐฉ์ง์ ๊น์ง์ ๊ฑฐ๋ฆฌ distance, ๋ฐ์๋ค์ด ์๋ ์์น๋ฅผ ๋ด์ ๋ฐฐ์ด rocks, ์ ๊ฑฐํ ๋ฐ์์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ฐ์๋ฅผ n๊ฐ ์ ๊ฑฐํ ๋ค ๊ฐ ์ง์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ ์ค์ ๊ฐ์ฅ ํฐ ๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
โ ๋ฌธ์ ์ดํด

๋ฐ์ 21๊ณผ 17์ ์ ๊ฑฐํ์ ๋ ๊ฐ ๋ฐ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ [2,9,3,11]์ด๋ฉฐ, ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ์ 2๋ผ๊ณ ํ๋ค.

์์์ง์ ~ ๋์ฐฉ์ง์ ๊น์ง ๊ฐ๋ฉด์ ๊ฐ ๋ฐ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ ํ๋ฉด ๋๋ฏ๋ก, ์์ฒ๋ผ 2, 9, 3, 12์ ๊ฑฐ๋ฆฌ๊ฐ ์ธก์ ์ด ๋๋ค.
์ด๋, ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ์ 2๊ฐ ๋๋ค.
โ ์ ๊ทผ ๋ฐฉ์
1๏ธโฃ ์์ ํ์ (๐ซ์๊ฐ ์ด๊ณผ)
๊ฐ์ฅ ๋จผ์ ๋ ์ค๋ฅด๋ ๋ฐฉ์์ด๋ผ๊ณ ์๊ฐํ๋ค.
ํ์ง๋ง ์์ ํ์์ผ๋ก ์ ๊ทผํ ๋์๋ ์๊ฐ ๋ณต์ก๋๋ฅผ ์ ๊ณ์ฐํด์ผ ํ๋ค.
์ฐ์ , ์์ ํ์์ผ๋ก ์ ๊ทผํ๊ฒ ๋์์ ๋๋ ์กฐํฉ์ ์ด์ฉํ์ฌ ๋์ ๊ฐ์์์ ์ ๊ฑฐํด์ผ ํ ๋์ ๊ฐ์๋ฅผ ๋ฝ์๋ด์ผ ํ๋ค.
๋ฐ์์ ๊ฐ์๋ฅผ k, ์ ๊ฑฐํด์ผ ํ ๋ฐ์์ ๊ฐ์๋ฅผ n์ด๋ผ๊ณ ํ๋ฉด, ์๊ฐ ๋ณต์ก๋๋ ๋ค์๊ณผ ๊ฐ๋ค.

๊ทธ๋ฆฌ๊ณ , ๋ฌธ์ ์ ์ ํ์ฌํญ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋์ฐฉ์ง์ ๊น์ง์ ๊ฑฐ๋ฆฌ distance๋ 1 ์ด์ 1,000,000,000 ์ดํ์
๋๋ค.
- ๋ฐ์๋ 1๊ฐ ์ด์ 50,000๊ฐ ์ดํ๊ฐ ์์ต๋๋ค.
- n ์ 1 ์ด์ ๋ฐ์์ ๊ฐ์ ์ดํ์
๋๋ค.
์ต๋ ๋ฐ์์ ๊ฐ์๊ฐ 50,000๊ฐ์ด๋ฏ๋ก ์ต์ ์ ์ํฉ์ ์๊ฐ ๋ณต์ก๋๋ n์ด 50,000k๊ฐ 25,000์ผ ๋์ด๋ค.
์ด๋, ์๊ฐ๋ณต์ก๋๋ ๋๋ต 10^15์ ๋ฌํ๋ค..
๋ฌด์กฐ๊ฑด ์๊ฐ ์ด๊ณผ์ด๋๊น ์์ ํ์์ ํจ์คํ์.
2๏ธโฃ ์ด๋ถ ํ์
์ ๋ ฌ์ด ๋ ์ํ์์ ์์ ํ์์ ์๊ฐ ๋ณต์ก๋๋ฅผ ํ๊ธฐ์ ์ผ๋ก ์ค์ผ ์ ์๋ ๋ค์ ๋ฐฉ์์ฑ ์ผ๋ก ์ด๋ถ ํ์์ ๋ ์ฌ๋ฆด ์ ์๋ค.
๊ทธ๋ฌ๋ ์ด๋ถ ํ์์ผ๋ก ์ ๊ทผํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ๋ถ๋ถ์ ๊ณ ๋ คํด์ผ ํ๋ค.
โ๏ธ left, right, mid ์ค์
์ด๋ค ๋ณ์๋ฅผ ์ด๋ถํ์์ ๊ฐ์ผ๋ก ์ค์ ํ ๊ฒ์ธ๊ฐ? ๋ ์ค์ํ ๋ฌธ์ ์ด๋ค.
์ด ๋ฌธ์ ์์ ์๊ตฌํ๋ return๊ฐ์ ๋ฐ์ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ต์๊ฐ ์ค ์ต๋๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.
๋ฐ๋ผ์ ๋ฐ์ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์ ๋ฅผ ํ์ด์ผ ํ๋ค.
๋ง์ฝ, distance๊ฐ 25์ผ ๋, ๋ฐ์๊ฐ ์ ๋ถ ์ ๊ฑฐ๋ ์ํ๋ผ๊ณ ๊ฐ์ ํด ๋ณด์.
์ด๋ ๊ฐ๊ฒฉ์ ์ต์๊ฐ์ distance๊ฐ์ธ 25๊ฐ ๋๋ค.
๊ทธ๋ฌ๋ฉด right๊ฐ์ ์ต๋๊ฐ์ธ 25๋ก ์ค์ ํ๊ณ left๊ฐ์ ์์ ์ง์ ์ธ 0์ผ๋ก ์ค์ ํ๋ฉด์ ์ด๋ถํ์์ ํ๋ฉด ์ด๋จ๊น์ ๋ํ ์๊ฐ์ด ๋ฐ๋ผ์ค๊ฒ ๋๋ค.
๐กleft, right, mid๋ ํ์ ์ด๋ถ ํ์ ๋ฌธ์ ๋ฅผ ํ ๋์ฒ๋ผ index๋ก ์ ๊ทผํ๋ ๊ฒ์ด ์๋, ๊ฐ๊ฒฉ์ ๊ธฐ์ค์ผ๋ก, ๊ฐ์ผ๋ก ์ ๊ทผํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
left : ์์ ์ง์ , 0
right : ๋์ฐฉ ์ง์ , distance
mid : (left + right) / 2
โ๏ธ ์ด๋ถํ์ ์กฐ๊ฑด๋ฌธ
์์ ๋ดค๋ ์์ ํ์์ ๋๋ฉฉ์ด๋ค์ ํ๋์ฉ ์ง์๊ฐ๋ฉฐ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ ํ๊ณ ๊ทธ ์ค ์ต์๊ฐ์ ๋์ถํ๋ ๊ฒ์ด ์ฝ๋์ ํ๋ก์ฐ์๋ค.
<์์ ํ์> -> ์๊ฐ์ด๊ณผ๐ซ
1. ๋๋ฉฉ์ด ๋ ๊ฐ ์ ๊ฑฐ
2. ๊ฑฐ๋ฆฌ ์ธก์
3. ์ต์๊ฐ ๋์ถ
๊ทธ๋ฌ๋ ์ด๋ถ ํ์์์๋ ๊ฑฐ๋ฆฌ๋ฅผ ๋จผ์ ์ ํ๊ณ (์ด๋ถ ํ์์ ํตํด์) ๊ฑฐ๋ฆฌ์ ๋ง๊ฒ ๋๋ฉฉ์ด๋ค์ ์ง์๋๊ฐ๋ฉฐ,
๋ฌธ์ ์์ ์๊ตฌํ๋ ์ ๊ฑฐํด์ผ ํ ๋๋ฉฉ์ด์ ์์ ๋น๊ตํ๋ฉฐ ์ด๋ถ ํ์์ ์กฐ๊ฑด๋ฌธ์ ์ํํ๋ฉด ๋๋ ๊ฒ์ด๋ค!
<์ด๋ถ ํ์>
1. ์ต์๊ฐ ๊ฑฐ๋ฆฌ(=mid) ์ค์
2. ๊ทธ๊ฑฐ์ ๋ง๊ฒ ๋๋งน์ด ์ง์ ๋๊ฐ
3. ์ง์์ง ๋๋งน์ด ๊ฐ์ ํ์ธ
4. ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ง์์ผ ํ ๋๋งน์ด ๊ฐ์๋ ๋๊ฐ์๊ฐ?
๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ด๋ถํ์์ ์งํํ๋ค๊ณ ์์ ์ธ๊ธํ์๋ค.
๋ฐ๋ผ์ mid๊ฐ์ด ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ์ด๋ผ ๊ฐ์ ํ๋ฉฐ ์กฐ๊ฑด๋ฌธ์ ๋๋ฆฌ๋ฉฐ mid๊ฐ์ ์กฐ์ ํด ๋๊ฐ ๊ฒ์ด๋ค.
๊ทธ๋ผ ์ด์ ๋ง์ง๋ง ๋จ๊ณ๋ก ์กฐ๊ฑด๋ฌธ์ ์ด๋ค ๊ธฐ์ค์ผ๋ก ์ธ์ธ ๊ฒ์ธ๊ฐ์ ๋ํ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค.
mid๊ฐ์ ์ต์๊ฑฐ๋ฆฌ๋ผ๊ณ ๊ฐ์ ํ์๋ค.
๊ทธ๋ฌ๋ฉด, ์์ ์ง์ ๋ถํฐ ์ฐจ๋ก๋ก ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ๋ฅผ ํ์ธํ๋ฉด์ ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ๊ฐ mid๋ณด๋ค ์์ผ๋ฉด ์ต์๊ฑฐ๋ฆฌ๋ผ๊ณ ๊ฐ์ ํ ๊ฒ์ด ๋ชจ์๋๋ฏ๋ก ๊ฐ๊ฒฉ์ ํด๋นํ๋ ๋๋ฉฉ์ด๋ค์ ์ง์๋๊ฐ๋ ๊ฒ์ด๋ค.
๐ ์ด๋, ์ง์ด ๋๋ฉฉ์ด๋ค์ด ์๋ ์ง์์ผ ํ ๋๋ฉฉ์ด๋ค๋ณด๋ค ๋ง์ด ์ง์๋ฒ๋ ธ๋ค๋ฉด?
-> mid๋ฅผ ๋ ์๊ฒ ํด์ผ ํ๋ค -> ๊ทธ๋์ผ ์ง์์ง๋ ๋๋ฉฉ์ด๋ค์ด ์ ์ด์ง๋ฏ๋ก
๐ ๋ฐ๋๋ก, ์ง์ด ๋๋ฉฉ์ด๋ค์ด ์ง์์ผ ํ ๋๋ฉฉ์ด๋ณด๋ค ์ ๋ค๋ฉด?
-> mid๋ฅผ ํค์์ผ ํ๋ค -> ๊ทธ๋์ผ ์ง์์ง๋ ๋๋ฉฉ์ด๋ค์ด ๋ง์์ง๋ฏ๋ก!!
๊ทธ๋ ๋ค๋ฉด ์กฐ๊ฑด๋ฌธ์ ๋ค์๊ณผ ๊ฐ์์ง๋ค.
if (getCnt(rocks, distance, mid) <= n){
answer = mid;
left = mid + 1;
}else{
right = mid - 1;
}
โ๏ธ ์ ์ฒด์ ์ธ ํ๋ฆ (๊ทธ๋ฆผ)


๊ทธ๋ ๋ค๋ฉด ์ด์ ๊ทธ๋ฆผ์ ํตํด์ ์์ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์ ์ฒด์ ์ธ ํ๋ฆ์ ํ์ ํ๊ณ ์ ํ๋ค.
(์ด๋ถํ์์์ ์ ๋ ฌ์ ํ์๋ค.)
โถ๏ธ ์ฒซ ๋ฒ์งธ ์ด๋ถ ํ์: left = 0, right = 25, mid = 12

[์์ ~ ์ฒซ ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 2
- mid : 12
2 < 12 ์ด๋ฏ๋ก ์ฒซ ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ด๋ค.

[์์ ~ ๋ ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 11
- mid : 12
11 < 12 ์ด๋ฏ๋ก ๋ ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ด๋ค.

[์์ ~ ์ธ ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 14
- mid : 12
14 > 12 ์ด๋ฏ๋ก ์ธ ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ฐ์ง ์๋๋ค.
์ด๋ ๊ทธ๋ฆฌ๊ณ ์์ ์ง์ ์ 14๋ก ๋ค์ ์ด๊ธฐํํ๋ค.

[์ธ ๋ฒ์งธ ๋์ด ~ ๋ค ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 3
- mid : 12
3 < 12 ์ด๋ฏ๋ก ๋ค ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ด๋ค.

[๋ค ๋ฒ์งธ ๋์ด ~ ๋ค์ฏ ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 7
- mid : 12
7 < 12 ์ด๋ฏ๋ก ๋ค์ฏ ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ด๋ค.
์ด๋, ์ง์์ง ๋๋ฉฉ์ด๋ ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ง์์ผ ํ ๋๋ฉฉ์ด๋ณด๋ค ๋ ๋ง๋ค.
๊ทธ๋ฌ๋ฏ๋ก, mid ๊ฐ์ ๋ ์๊ฒ ์ค์ ํด์ผ ํ๋ค.
right = mid - 1
โถ๏ธ ๋ ๋ฒ์งธ ์ด๋ถ ํ์: left = 0, right = 11, mid = 5

[์์ ~ ์ฒซ ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 2
- mid : 5
2 < 5 ์ด๋ฏ๋ก ์ฒซ ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ด๋ค.

[์์ ~ ๋ ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 11
- mid : 5
11 > 5 ์ด๋ฏ๋ก ๋ ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ฐ์ง ์๋๋ค.
์ด๋, ํ์ฌ ์์น๋ฅผ 11๋ก ์ด๊ธฐํํด ์ค๋ค.

[๋ ๋ฒ์งธ ๋๋ฉฉ์ด ~ ์ธ ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 3
- mid : 5
3 < 5 ์ด๋ฏ๋ก ์ธ ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ด๋ค.

[๋ ๋ฒ์งธ ๋์ด ~ ๋ค ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 6
- mid : 5
6 > 5 ์ด๋ฏ๋ก ๋ค ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ฐ์ง ์๋๋ค.
์ด๋, ํ์ฌ ์์น๋ฅผ 17๋ก ์ด๊ธฐํํด ์ค๋ค.

[๋ค ๋ฒ์งธ ๋๋ฉฉ์ด ~ ๋ค์ฏ ๋ฒ์งธ ๋๋ฉฉ์ด]
- ๊ฐ๊ฒฉ์ ๊ฑฐ๋ฆฌ : 4
- mid : 5
4 < 5 ์ด๋ฏ๋ก ๋ค์ฏ ๋ฒ์งธ ๋๋ฉฉ์ด๋ ์ง์ด๋ค.
์ด๋, ์ง์์ง ๋์ด๋ ์ด 3๊ฐ, ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ง์์ผ ํ ๋๋ฉฉ์ด(2๊ฐ) ๋ณด๋ค ๋ ๋ง๋ค.
๊ทธ๋ฌ๋ฏ๋ก, mid ๊ฐ์ ํ๋ฒ ๋ ์๊ฒ ์ค์ ํด์ผ ํ๋ค.
right = mid - 1
โถ๏ธ ์ธ ๋ฒ์งธ ์ด๋ถ ํ์: left = 0, right = 4, mid = 2
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์งํํ๋ฉด ์ง์์ง๋ ๋๋ฉฉ์ด์ ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ๋ค.

๊ฐ๊ฒฉ์ด ์ ๋ถ 2๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฏ๋ก, ์ง์์ง ๋๋ฉฉ์ด์ ๊ฐ์๋ 0๊ฐ์ด๋ค.
mid๊ฐ์ ํฌ๊ฒ ์ค์ ํด์ผ ํ๋ค.
left = mid + 1
โถ๏ธ ๋ค ๋ฒ์งธ ์ด๋ถ ํ์: left = 3, right = 4, mid = 3
๋ง์ฐฌ๊ฐ์ง๋ก ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์งํํ๋ฉด

์์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
์ด๋ ์ง์์ง๋ ๋๋ฉฉ์ด๋ ์ฒซ ๋ฒ์งธ ๋๋ฉฉ์ด์ ์ธ ๋ฒ์งธ ๋์ด ์ด 2๊ฐ์ด๋ค.
ํ์ง๋ง ์์ง while๋ฌธ์ ์กฐ๊ฑด์ธ left <= right์ ์กฐ๊ฑด๋ฌธ์ ํ์ถํ์ง ๋ชปํ์ผ๋ฉฐ,
ํด๋น ๊ฐ์ด ๋ฌธ์ ์ ์๊ตฌ์ฌํญ์ ๋ง์กฑํ๋ ์ต๋๊ฐ์ธ์ง๋ ๋ชจ๋ฅด๋ ์ํ์ด๋ค.
๋ฐ๋ผ์ ๋๋ ๋๊น์ง ์ด๋ถํ์์ ์งํํด์ผ ํ๋ค.
left = mid + 1
โถ๏ธ ๋ค์ฏ ๋ฒ์งธ ์ด๋ถ ํ์: left = 4, right = 4, mid = 4

์ด๋๋ ์ง์์ง๋ ๋๋ฉฉ์ด์ ๊ฐ์๋ ์ฒซ ๋ฒ์งธ ๋๋ฉฉ์ด์ ์ธ ๋ฒ์งธ ๋์ด ์ด 2๊ฐ์ด๋ค.
mid๊ฐ์ 4์ด๋ฉฐ, ์ ์ ๋์๋ 3๋ณด๋ค ํฐ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ค.
๋ฌธ์ ์์ ์๊ตฌํ๋ ๋ถ๋ถ์ ์ต์๊ฐ ์ค ์ต๋๊ฐ์ด๋ฏ๋ก 4๊ฐ ๋ต์ด ๋๋ค.
๊ทธ๋ฆฌ๊ณ left๋ฅผ ํ ๋ฒ ๋ ์กฐ์ ํจ์ผ๋ก์จ ์ด๋ถํ์ while๋ฌธ์ ๋น ์ ธ๋์ค๊ฒ ๋๋ค.
โ ์ฝ๋ - JAVA
import java.util.*;
class Solution {
public int solution(int distance, int[] rocks, int n) {
int answer = 0;
Arrays.sort(rocks); // ์ด๋ถํ์ -> ์ ๋ ฌ ํ์
int left = 0;
int right = distance;
while (left <= right){
int mid = (left + right) / 2;
if (getCnt(rocks, distance, mid) <= n){ // ๋ง์กฑํ๋ ๊ฒฝ์ฐ answer = mid
answer = mid;
left = mid + 1;
}else{
right = mid - 1;
}
}
return answer;
}
private int getCnt(int[] rocks, int distance, int mid){
int before = 0;
int remove = 0;
int end = distance;
for (int i = 0; i < rocks.length; i++){ // mid๋ณด๋ค ์์ ๊ฒฝ์ฐ ๋๋ฉฉ์ด ์ ๊ฑฐ
if (rocks[i] - before < mid){
remove ++;
continue;
}
before = rocks[i];
}
if (end - before < mid){ // ๋ง์ง๋ง ๋๋ฉฉ์ด๋ ๋ ์ง์ ๊ณผ์ ๊ฐ๊ฒฉ์ด๋ฏ๋ก ๋ฐ๋ก ์นด์ดํธ
remove ++;
}
return remove;
}
}

