Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
๐ ๋ฌธ์ ๋งํฌ
๊ธฐํ ๋ ์จ
โ๏ธ ์์๋ ์๊ฐ
30๋ถ?
โจ ์๋ ์ฝ๋
์ด๋ฒ ๋ฌธ์ ๋ ์ฝ์ต๋๋ค
๋ฌธ์ ๋ฅผ ์ฝ์ด๋ณด๋ฉด, '๋ธ๋ฃจ๋ ์ด์ ํฌ๊ธฐ์ ๋ฐ๋ผ์ ์๊ฐ ์ ํด์ง๊ฒ ๊ตฌ๋'๋ฅผ ๋ ์ฌ๋ฆด ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ธ๋ฃจ๋ ์ด์ ์๋ 1๋ถํฐ 100000๊น์ง ๊ฐ๋ฅํ๊ณ
1๋ถํฐ 100000๊น์ง ๋ค ํ์ํ๋ ๊ฒ์ ๋ฌด๋ฆฌ๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๋ธ๋ฃจ๋ ์ด๊ฐ 1๊ฐ๋ผ๋ฉด ํฌ๊ธฐ๋ sum(๊ฐ ๊ฐ์์ ๊ธธ์ด)์ผ๊ฑฐ๊ณ ,
๋ธ๋ฃจ๋ ์ด๊ฐ ๊ฐ์์ ์๋งํผ ์๋ค๋ฉด, ํฌ๊ธฐ๋ max(๊ฐ์ ๊ธธ์ด) ์ผ ๊ฒ์ผ๋ก ๋ฒ์๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ํ์ ์๊ฐ์ ์ค์ด๊ธฐ ์ํด์
์ด๋ถ ํ์์ผ๋ก ์ ๊ทผํ์์ต๋๋ค.
๋ธ๋ฃจ๋ ์ด ํฌ๊ธฐ ์ต์ = left = max(lecture)
๋ธ๋ฃจ๋ ์ด ํฌ๊ธฐ ์ต๋ = right = sum(lecture)
๋ธ๋ฃจ๋ ์ด ํฌ๊ธฐ = mid = (left+right) // 2
๋ก ์ก์์ต๋๋ค.
์ด์ ๊ฐ์๋ค์ ํ๋์ฉ ๋ฃ๊ณ , mid(๋ธ๋ฃจ๋ ์ด ํฌ๊ธฐ)๋ฅผ ์ด๊ณผํ๋ฉด ๋ ์ฝ๋ ์๋ฅผ ํ๋์ฉ ๋๋ ค๊ฐ๋๋ค.
์ต์ข ๋ ์ฝ๋ ์๊ฐ M๋ณด๋ค ํฌ๋ฉด left๋ฅผ ๋๋ ค์ ๋ ๋ง์ ๊ฐ์๋ฅผ ๋ด๋๋ก ํ๊ณ ,
๋ฐ๋์ ์ํฉ์ด๋ฉด rigth๋ฅผ ์ค์ฌ์ ๋ธ๋ฃจ๋ ์ด ๋ฒ์๋ฅผ ์ค์ ๋๋ค!
์ต์ข ์ ์ผ๋ก left๋ฅผ ์ถ๋ ฅํ๋ฉด ๋ธ๋ฃจ๋ ์ด ํฌ๊ธฐ์ ์ต์๊ฐ์ด ๋์ค๊ฒ ๋ฉ๋๋ค
์๋ฃ๊ตฌ์กฐ์๋ ์๊ณ ๋ฆฌ์ฆ์์ ๋น์ทํ ๋ฌธ์ ๋ฅผ ํ์๋ ๊ธฐ์ต์ด ์์ด์
์ฝ๊ฒ ์ ๊ทผํ ๊ฒ ๊ฐ๋ค์
๐ ์๋กญ๊ฒ ์๊ฒ๋ ๋ด์ฉ