getMin() ๋ฉ์๋๊ฐ ์๋ MinStack ๊ตฌํํ๊ธฐ๋ฐฐ์ด๋ก ์ผ๋ฐ stack ๊ตฌํminStack๋ ๊ฐ์ด ์์ฑํด์ insert์ ์์ ๊ฐ์ด ์ ์ผ ์๋ก ์์ด๋๋ก ๊ตฌํgetMin() ๋ฉ์๋์์๋ minStack์ ๋ง์ง๋ง ๊ฐ return๊ฐ(val)์ด ๋ค์ด์ค๋ฉด minsStack
ํต์ฌ์ ํ์ฌ ๊ธฐ์ค์ผ๋ก ์ผ๋ง๋ ๋จ์ด์ ธ ์๋์ง ํ๋จํ๋ ๊ฒ๊ฐ์ ๋น๊ตํ๊ณ ์ธ๋ฑ์ค๋ก ๋จ์ด์ง ์ ๋๋ฅผ ์์๋ธ๋ค.์ธ๋ฑ์ค์ ์จ๋๋ฅผ ์คํ์ ๋ฃ๋ค๊ฐ ๋ ๋ฐ๋ปํ ๊ฐ์ด ๋์์ ๋ res ๋ฐฐ์ด ์ ๋ฐ์ดํธ
ํ์ํ๊ธฐ๋ฒ ์ ๊ธฐ๋ณธ ์ฐ์ฐ์๋ก ๋ณํํด ๊ณ์ฐํ๋ ๋ฌธ์ 2 1 + 3 \* => (2 + 1) \* 3์ผ๋ก ์ฐ์ฐ ํด์ผํ๋ค.ํ์ฉ ์๋ฃ๊ตฌ์กฐ์คํ์ ์ด์ฉํด ๊ตฌํ๋จผ์ ๋ค์ด๊ฐ ๊ฐ๋ค์ ํ์ธ ํ ์ฐ์ฐ ํด์ผํ๊ธฐ ๋๋ฌธ์ ์คํ์ด ์ ์ ํ๋ค.๋ฌธ์ ํด๊ฒฐ ์๋๋ฆฌ์ค๋ฐฐ์ด์ ๋ฐ๋ณต๋ฌธ ๋๋ ค ๊ฐ ํ์ธ ํ ๊ฐ์ด ์ซ์
๋ฌธ์ ๋ฅผ ์ดํดํ๊ธฐ ๋ถํฐ ์ด๋ ค์ ๋ ๋ฌธ์ ์์ต๋๋ค.carfleet์ด ์ฌ์ง์ด ๊ฐ์ฅ ์ดํด๊ฐ ์ ๋์๋ค์.๋ฌธ์ ๋ฅผ ํ ๋ฒ ์ฝ์ด๋ดค๋ค๊ณ ์๊ฐํ๊ณ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.๋ฌธ์ ์์ ์ดํดํด์ผ ํ ๊ฒ์ ๋ค ์ฐจ๊ฐ ์ ์ฐจ๋ฅผ ๋ง๋๋ฉด ํ๋์ fleet์ด ๋๋ค๋ ๊ฒ์ ๋๋ค. ๋ค ์ฐจ๋ ์ถ์ํ ์ ์๊ณ , ์ ์ฐจ์
Binary Search ๊ธฐ๋ณธ ๋ฌธ์ ์ด์ง ํ์์ ๋ฐ์ดํฐ ๊ธธ์ด๋ฅผ ๋ฐ ์ฉ ์ค์ฌ๊ฐ๋ฉฐ ์ํ๋ ๊ฐ์ ์ฐพ๋ ๋ฐฉ๋ฒ์ด๋ค.์๊ฐ ๋ณต์ก๋๋ O(logn)์ผ๋ก ์ ํ ํ์ O(n)๋ณด๋ค ๋น ๋ฅด๋ค.๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํ ๊ฐ๋ฅํ๋ค.์ฌ๊ท ํจ์๋ฅผ ๋ง๋ค ๋๋ base case๊ฐ ์ค์ํ๋ค.๋ฐฐ์ด์ ์์(sta
2์ฐจ์ Matrix์์ ์ด์งํ์ํ๋ ๋ฌธ์ ๋ฌธ์ ๋ณด๊ณ matrix๋ฅผ ๋ฐ๋ณต๋ฌธ ๋๋ ค์ row ๋ฐฐ์ด ํ๋์ฉ target ๊ฐ์ ์ฐพ๋ ์ด์งํ์์ ์งํํ์๊ณ ์๊ฐํ๋ค.๊ทธ๋ ๊ฒ ํ์ด๋ดค๋๋ฐ ๋ฌธ์ ์์ด ๋ต์ด ๋์ค๊ธด ํ๋ค.๊ทผ๋ฐ ๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ์ ๋ณด๋ ์ด์งํ์์ ๋ ๋ฒ ์ ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด์
Koko Eating Bananas์ฝ๊ฐ ์ด๋ ค์์ง ์ด์งํ์ ๋ฌธ์ ๋ฌธ์ ์ดํด๊ฐ ์ ์๋์์.๋ฐ๋๋ ๊ฐ์ ๋ฐฐ์ด(piles)๊ณผ ์๊ฐ(h)์ด ์ฃผ์ด์ง๋ค.koko๊ฐ ์์ญ์ด๋ฅผ ๋จน์ ๋ ์ฃผ์ด์ง ์๊ฐ ์์ ๋ฐ๋๋๋ฅผ ๋ค ๋จน๋ ์ต์ ์คํผ๋(k)๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.ํ ์คํธ ์ผ์ด์ค๋ฅผ ํตํด ์ดํด๋ฅผ
์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ๋ฐฐ์ด์ ํ์ ์ํจ ๋ฐฐ์ด์ด input์ด๋ค.ํด๋น ๋ฐฐ์ด์์ ์ต์๊ฐ์ ์ฐพ์ผ๋ฉด ๋๋ ๋ฌธ์ .๋ค๋ง, O(logn)์ผ๋ก ํ์ด์ผ ํ๊ธฐ ๋๋ฌธ์, ์์ ํ์์ด ์๋ ์ด์งํ์์ ์ฌ์ฉํด์ผ ํ๋ค.์ฒ์ ์ด ๋ฌธ์ ๋ณด๊ณ ๊ทธ๋ฅ ์ ๋ ฌํ๊ณ ์ต์๊ฐ ์ ์ฉํ๋ฉด ํ๋ฆฌ์ง ์์๊น?๊ทผ๋ฐ ์๊ฐ ์ด๊ณผ ๋
์ ๋ ฌ๋ ๋ฐฐ์ด์ ํ์ ์์ผฐ์ ๋ ๊ทธ ์์ target ๊ฐ์ด ์๋์ง ํ๋จํ๋ ๋ฌธ์ .๊ฒฝ์ฐ์ ์๊ฐ ๋ง์์ง๋ ํฌ์ธํฐ ์์ง์ด๋๊ฒ ์ ๋ง ํท๊ฐ๋ ธ๋ค.์ด ๋ฌธ์ ์ ํต์ฌ์ 6๊ฐ์ง ๊ฒฝ์ฐ์ ์๋ฅผ ์ ํ์ํ๋ ๊ฒ!์ ๋ ฌ๋ ๋ฐฐ์ด์ ํ์ ์์ผฐ๋ค๋ ๊ฑด ๋ ๋ถ๋ถ์ผ๋ก ์ ๋ ฌ๋ ๊ฐ๋ค์ด ๋๋ ์ง๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.์ผ
๊ธฐ๋ณธ์ ์ผ๋ก key, value ์์ด ์ ์ฅ๋๋ ํด์ฌ๋งต์ ๋ง๋๋ ๊ฒ์ด ๋ชฉํ์ ๋๋ค.์ถ๊ฐ๋ก ์๊ตฌํ๋ ์ ์ time stamp๊ฐ ๊ฐ์ด ์ ์ฅ๋์ด์ ๊ฐ์ key์ ์ฌ๋ฌ value๊ฐ ๋ค์ด๊ฐ๋ค๋ ์ ์ ๋๋ค.๊ฐ์ key์ value๋๋ผ๋ timestmap๋ก ๊ตฌ๋ถ๋๊ฒ ๋ฉ๋๋ค.๋ ํ๋์ ์๊ฑด
๋ฌธ์ ๋ ๊ฐ๋จํฉ๋๋ค. ๋ ๋ง๋ค ์ฃผ์์ ๊ฐ๊ฒฉ์ด ์ฃผ์ด์ง๊ณ ๊ฐ์ฅ ํฐ ์์ต์ ๋ฐํํ๋ฉด ๋ฉ๋๋ค.prices = 7, 1, 5, 3, 6, 4 ์ด๋ ๊ฒ ์๋ค๋ฉด 2๋ฒ ์งธ ๋ ์ 1์์ ์ฌ๊ณ 5๋ฒ์งธ ๋ ์ 6์์ ํ๋ฉด ๊ฐ์ฅ ํฐ ์์ต์ ์ป์ ์ ์๊ฒ ๋ค์.๋ ๊ฐ์ง ๊ฐ์ ๊ณ์ ๋น๊ตํด๋๊ฐ์ผ ํ๋ ํฌ
์ค๋ณต๋ ๋ฌธ์์ด์ ์ ๊ฑฐํ๊ณ ์ต๋ ๊ธธ์ด์ ๋ถ๋ถ ๋ฌธ์์ด ๊ธธ์ด๋ฅผ ๋ฐํํ๋ฉด ๋ฉ๋๋ค.'abcabcbb'๋ฅผ ๋ณด๋ฉด ์ค๋ณต ์๋ ์ต๋ ๊ธธ์ด ๋ถ๋ถ ๋ฌธ์์ด์ abc๊ฐ ๋์ฃ .๋ฌธ์ ์์ฒด๋ ์ฌํํฉ๋๋ค. ๋ฐ๋ก ์ด๋ป๊ฒ ํ์ง ์๊ฐํด ๋ณด์์ฃ .์ฐ์ brute force(์์ ํ์)์ผ๋ก ์ฐพ๋๋ค๋ฉด ๋ต์ ์ฐพ์
Linked List ๊ธฐ๋ณธ ๊ตฌํ ๋ฌธ์ ์ด๋ค.Node๋ฅผ ํ์ฉํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ฐ๋ ์ ์์์ผ ํ๋ค.์ด ๋ฌธ์ ์์๋ ํฌ ํฌ์ธํฐ๋ฅผ ํ์ฉํ๊ณ Node์ ๊ฐ๊ณผ next ๊ฐ์ ๊ณ์ ๋ฐ๊ฟ์ฃผ๊ธฐ ๋๋ฌธ์ ์ฝ๋ ์์๊ฐ ์ค์ํ๋ค.Node๋ ํ์ฌ ๊ฐ๊ณผ, next ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค.๋ง์ง๋ง ๋ ธ๋
๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๊ฐ ์์ ๋ ํ๋์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ๋ณํฉํ๋ ๋ฌธ์ ์ด๋ค.๋ณํฉ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค.๋ฐ๋ณต๋ฌธ์ ๋๋ฉฐ list1์ node ๊ฐ๊ณผ list2 ๋ ธ๋์ ๊ฐ์ ๋น๊ตํด์ ์๋ก์ด ์ฐ๊ฒฐ๋ฆฌ์คํธ์ ์ค๋ฆ์ฐจ์ ์์ผ๋ก ์ถ๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๋ฆฌ์คํธ ์ฒ๋ผ push, po