๋ผ๋ฉด๊ณต์ฅ https://programmers.co.kr/learn/courses/30/lessons/42629# ์ฝ๋ #include #include #include using namespace std; vector node; int solution(int stock, vector dates, vector supplies, int k) { int answer = 0; int day = stock; int size = dates.size(); for (int i = 0; i < size; i++) { node.push_back(make_pair(dates[i], supplies[i])); } while (day < k) { int idx = 0; int max_idx = 0; while (idx < nod..
ํ ์ฉ๋ ๊ตฌํ ์ข ๋ฅ ์ฐ์ฐ ์ ๋ ฌ ํ ํ์ ์ถ์์ ์๋ฃํ์ธ ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ๋ง๋ค์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. partial-ordering (๋ถ๋ถ ์ ๋ ฌ)์ ๋ง์กฑํ๋ left-complete binary tree (์ข์ธก ์์ ์ด์ง ํธ๋ฆฌ) ์ด๋ค. ๋ถ๋ถ ์ ๋ ฌ์ ๋ง์กฑํ๋ค๋ ๋ง์ '๋ถ๋ชจ ๋ ธ๋์ ์์๋ ธ๋' ๊ฐ์๋ ํน์ ๋์๊ด๊ณ ์ฑ๋ฆฝํ์ง๋ง, 'ํ์ ๋ ธ๋'๊ฐ์๋ ํด๋น ๋์๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ์ง ์๋๋ค๋ ๋ป์ด๋ค. ์ด์ง ํ์ ํธ๋ฆฌ์์๋ ์ค๋ณต๋ ๊ฐ์ ํ์ฉํ์ง ์์ง๋ง ํ ํธ๋ฆฌ์์๋ ํ์ฉํ๋ค. ์ฉ๋ ํ์ ์ถ์์ ์๋ฃํ์ธ ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ๋ง๋ค์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋ฐฐ์ด๊ณผ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ๋ฉด ์ฝ์ ๊ณผ ์ญ์ ์ฐ์ฐ ์ค ํ๋๊ฐ O(n)์ผ ์ ๋ฐ์ ์๋ค. ํ์ง๋ง ํ์ ์ด์ฉํ๋ฉด ๊ฐ์ฅ ํฐ ๊ฐ์ด๋ ๊ฐ์ฅ ์์ ๊ฐ์ ๋ ๋ค O(logn)๋ง์ ๋น ..
Comment