Truck
2ํ์ฐจ ํ์ด ํ๋ฆฐ ์ด์
์ผ๋จ ํ์ ํธ๋ญ ๋ฃ์ ๋์ ํ์์ ํธ๋ญ ๋บ ๋ 2๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋๋์ด ์๊ฐํด๋ดค๋ค. 1. ํ์ ํธ๋ญ ๋บ ๋ : ํ์ ํฌ๊ธฐ๊ฐ w(๋ค๋ฆฌ์ ๊ธธ์ด)์ ๊ฐ์ ๋ => ํธ๋ญ์ ๋ฌด๊ฒ ๋๋ฌธ์ ํธ๋ญ์ด ํ๋๋ง ๋ค์ด๊ฐ์์ ๋๋ ์ด๋์ ํ์ง๋ง, ์กฐ๊ฑด์ ์์ฒ๋ผ ๊ฑธ์ด์ฃผ๊ฒ ๋๋ฉด ํ์์ ํธ๋ญ์ด ๋์ค์ง ์๊ณ ๋ฌดํ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋์๋ฒ๋ฆฐ๋ค. ๋ฌธ์ ์์ ํ๋์ ๋จ์์๊ฐ์ ํ๋์ ๋จ์๊ธธ์ด๋งํผ ์ด๋ํ๋ค๊ณ ํ์ผ๋๊น ์๊ฐ'2' ๋์ ๊ฑฐ๋ฆฌ'2'๋ฅผ ์ด๋ํ๋ค๊ณ ํ ์ ์๋ค. ๋ค์ ๋งํ๋ฉด, ํ์ ํธ๋ญ์ ๋ฃ์ ๋ ์๊ฐ์ ํ์ ํจ๊ป ๋ฃ์ด์ ๊ธฐ๋กํด์ฃผ๊ณ , ํ์ฌ์ ์๊ฐ์์ ํ์ ์ ์ผ ์ฒ์ ํธ๋ญ์ . ์๊ฐ์ ์ฐจ๊ฐ w(๋ค๋ฆฌ ๊ธธ์ด)์ ๊ฐ๋ค๋ฉด ๊ทธ ์๊ฐ ์ฐจ๋งํผ ๊ฑฐ๋ฆฌ๋ ์ด๋ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ๊ตฌํํ๋ฉด ๋๋ค.
2. ํ์ ํธ๋ญ ๋ฃ์ ๋ ์กฐ๊ฑด - ๋ฃ์ ํธ๋ญ์ ์ธ๋ฑ์ค idx < n - ๋ฃ์ ํธ๋ญ ๋ฌด๊ฒ + ํ์ฌ ๋ค๋ฆฌ ์ ํธ๋ญ ๋ฌด๊ฒ ํฉ <= L - ํ์ฌ ํ์ ํฌ๊ธฐ์ ๋ค๋ฆฌ ๊ธธ์ด ๋น๊ต
์ธ๋ฑ์ค ๋ฒ์ ๋ง์กฑ, ๋ฌด๊ฒ ํฉ ์กฐ๊ฑด ๋ง์กฑํด๋ ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ผ๋ฉด ํธ๋ญ ๋ฃ์ ์ ์๋ค! ex) n = 3, w = 2, L = 3 : ํ์ฌ ๋ค๋ฆฌ 11์ธ๊ฒฝ์ฐ ํ์ฌ ํ์ ํฌ๊ธฐ == w์ด๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ํธ๋ญ ๋ฃ์ ์ ์๋ค.
๊ทธ๋ฐ๋ฐ ํ ํฌ๊ธฐ ๋น๊ต์กฐ๊ฑด์ ๋ฃ์ด์ฃผ์ง ์์๋ 1๋ฒ(์๊ฐ์ฐจ ์ด์ฉ)์์ ํ์์ ํธ๋ญ์ ๋บ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ ๋ต์ ๋์ถํด๋ผ ์ ์๋ค.
์๊ณ ๋ฆฌ์ฆ ์๊ฐ
ํ์ ํธ๋ญ ๋ฃ๋๋ค.
0๋ฒ์งธ ํธ๋ญ์ด L๋ณด๋ค ์์ผ๋ฉด ํ์ ๋ฃ๋๋ค. i-for๋ฌธ์ ๋๋ฆฌ๋ฉฐ i๋ฒ์งธ ํธ๋ญ + q.peek() <= L์ด๋ฉด ํ์ ๋ฃ๋๋ค. (=> ํ๋ฆฐ ๋ถ๋ถ : ํธ๋ญ ๊ฐ์ ํฉ์ด L๋ณด๋ค ์์ผ๋ฉด ํธ๋ญ์ ๊ณ์ ๋ฃ์ ์ ์์ด์ผํ๋ค!) (ํธ๋ญ์ ๋ฃ์ผ๋ฉด์๋ time์ ๊ณ์ ์ฆ๊ฐ)
2. ํ ์ฌ์ด์ฆ๊ฐ W๊ฐ ๋๋ฉด ์ ์ผ ์์ ํธ๋ญ๋ถํฐ ๊บผ๋ด๊ณ time ์ฆ๊ฐ์์ผ์ค๋ค.
์์
1๋ฒ์ ๋ณด์ํ๊ธฐ ์ํด ํ์ ๋ค์ด๊ฐ ํธ๋ญ๊ฐ์ ํฉ์ sum์ ์ ์ฅํด์ฃผ๊ณ , sum์ด L๋ณด๋ค ์๋ค๋ฉด i๋ฒ์งธ ํธ๋ญ์ ํ์ ๋ฃ๊ณ , L๋ณด๋ค ํฌ๋ฉด i-1๋ฒ์งธ๊น์ง๋ง ๋ฃ์ด์ค๋ค. ์ง๊ธ ๋ค์ ์๊ฐํด๋ณด๋ i๋ฒ์งธ๊น์ง ํธ๋ญ๊ฐ ํฉ์ด L ์ด๊ณผํ๋ฉด ๊ทธ๋ฅ ์ ๋ํด์ฃผ๋ฉด ๋๋๋ฐ! =>if(i-1>=0)๋ฌธ ์ญ์ ํด์ผํ ๋ฏ.
Solution
ํ์ ๋ฃ์ ํธ๋ญ idx๋ฅผ ๊ธฐ๋กํ๋ค. ์ฒ์์ 0๋ฒ์งธ ํธ๋ญ์ ๋ฃ๊ธฐ ๋๋ฌธ์ idx๋ 1๋ถํฐ ์์ํ๋ค.
ํ์์ ๋บ ๋ = ํ์ฌ์ ์๊ฐ time-ํ ์ ์ผ ์ฒซ ํธ๋ญ์ ์๊ฐ๊ฐ = w์ผ ๋ = ํ์ฌ ์๊ฐ๊ณผ ํ์ ์ฒซ ํธ๋ญ์ด ํ์ ๋ค์ด๊ฐ ์๊ฐ์ฐจ๊ฐ w์ด๋ฉด ๊ทธ ํธ๋ญ์ ๋์จ๋ค! = ํธ๋ญ์ด ๋์ค๋ ๊ฒ์ L๊ฐ์ ๊ฐ๊ฐํด์ ์ฒ๋ฆฌํ ์ ์๋ค! L = L + q.peek()[0]
๊ฑธ๋ฆฌ๋ ์๊ฐ ๊ณ์ฐ 1๋ฒ๊ณผ 2๋ฒ(ํธ๋ญ์ ๋ฃ์ ๋, ๋บ๋)์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ตฌ์ฑํ๊ณ , ๋ฐ๋ณต๋ฌธ์ ํ๋ฒ ๋ ๋๋ง๋ค time์ 1์ฉ ์ฆ๊ฐ์์ผ์ค๋ค. ํ๊ฐ ๋น์ง ์์๋์๋ง ๋ฐ๋ณตํ๋ค.(while(!q.isEmpty)
Last updated