![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVkkBg%2Fbtq0zuuX8zm%2FDHRCdbqUCkKWHFEKeiysTK%2Fimg.png)
๋์ด๋ : ๊ณจ๋ 3 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฐ ์ด์ ๋ฌธ์ ํฉ๋ถํด ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ 1005๋ฒ: ACM Craft ์ฒซ์งธ ์ค์๋ ํ ์คํธ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ๋ค์๊ณผ ๊ฐ์ด ์ฃผ์ด์ง๋ค. ์ฒซ์งธ ์ค์ ๊ฑด๋ฌผ์ ๊ฐ์ N ๊ณผ ๊ฑด๋ฌผ๊ฐ์ ๊ฑด์ค์์๊ท์น์ ์ด ๊ฐ์ K์ด ์ฃผ์ด์ง๋ค. (๊ฑด๋ฌผ์ ๋ฒํธ๋ 1๋ฒ๋ถ www.acmicpc.net ์๊ธฐ 2012๋ ! ๋๋์ด 2๋ ๊ฐ ์๋ง์ ๊ตญ๋ฏผ๋ค์ ๊ธฐ๋ค๋ฆฌ๊ฒ ํ ๊ฒ์ ACM Craft (Association of Construction Manager Craft)๊ฐ ๋ฐ๋งค๋์๋ค. ์ด ๊ฒ์์ ์ง๊ธ๊น์ง ๋์จ ๊ฒ์๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ ACMํฌ๋ํํธ๋ ๋ค์ด๋๋ฏนํ ๊ฒ์ ์งํ์ ์ํด ๊ฑด๋ฌผ์ ์ง๋ ์์๊ฐ ์ ํด์ ธ ์์ง ์๋ค. ์ฆ, ์ฒซ ๋ฒ์งธ ๊ฒ์๊ณผ ๋ ๋ฒ์งธ ๊ฒ์์ด ๊ฑด๋ฌผ์ ์ง๋ ์์๊ฐ ๋ค๋ฅผ ์๋ ์๋ค. ๋งค ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmP3XP%2FbtqZSvN6tvf%2FQnEk2Wi0KrMJfqR6cQtmh1%2Fimg.png)
๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฐ ์ด์ ๋ฌธ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ค๋ต ์ฒ์์ ์์ ํ์์ผ๋ก ํ๋ ์ต๋ํ ์กฐํฉ์ ๋ฒ์๋ฅผ ์ค์ฌ์ ๊ตฌํํด๋ณด์๋ค. ํ์ง๋ง, ์๊ฐ ์ด๊ณผ๋ก ์คํจ..! #include #include #include #include using namespace std; // 6์ 4๋ถ ์์ => 6์ 42๋ถ ์ค๋จ, 11์ 12๋ถ ์์ => // N > K; for (int i = 0; i > w >> v; vec.push_back(make_pair(w, v)); } // ๋ฌด๊ฒ ์ ์ ๋ ฌ sort(vec.begin(), vec.end(), compare); // ๋ฌด๊ฒ๋ ๊ฐ์๋ฐ ๊ฐ์น๊ฐ ์์ ๊ฒ์ ์์ ๊ธฐ for (int i = 1; i < vec.size(..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNTvSR%2FbtqRxZCoKOf%2FfrzL4MxeRr5OgtNHT5SvAk%2Fimg.png)
๋ฑ๊ตฃ๊ธธ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ๊ณ์๋๋ ํญ์ฐ๋ก ์ผ๋ถ ์ง์ญ์ด ๋ฌผ์ ์ ๊ฒผ์ต๋๋ค. ๋ฌผ์ ์ ๊ธฐ์ง ์์ ์ง์ญ์ ํตํด ํ๊ต๋ฅผ ๊ฐ๋ ค๊ณ ํฉ๋๋ค. ์ง์์ ํ๊ต๊น์ง ๊ฐ๋ ๊ธธ์ m x n ํฌ๊ธฐ์ ๊ฒฉ์๋ชจ์์ผ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค. ์๋ ๊ทธ๋ฆผ์ m = 4, n = 3 ์ธ ๊ฒฝ์ฐ์ ๋๋ค. ๊ฐ์ฅ ์ผ์ชฝ ์, ์ฆ ์ง์ด ์๋ ๊ณณ์ ์ขํ๋ (1, 1)๋ก ๋ํ๋ด๊ณ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋, ์ฆ ํ๊ต๊ฐ ์๋ ๊ณณ์ ์ขํ๋ (m, n)์ผ๋ก ๋ํ๋ ๋๋ค. ๊ฒฉ์์ ํฌ๊ธฐ m, n๊ณผ ๋ฌผ์ด ์ ๊ธด ์ง์ญ์ ์ขํ๋ฅผ ๋ด์ 2์ฐจ์ ๋ฐฐ์ด puddles์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ค๋ฅธ์ชฝ๊ณผ ์๋์ชฝ์ผ๋ก๋ง ์์ง์ฌ ์ง์์ ํ๊ต๊น์ง ๊ฐ ์ ์๋ ์ต๋จ๊ฒฝ๋ก์ ๊ฐ์๋ฅผ 1,000,000,007๋ก ๋๋ ๋๋จธ์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๊ฒฉ์์ ํฌ๊ธฐ m, n์ 1 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTlDZ8%2FbtqHui0ParK%2FcJ6bztHZfrVEVEI7gouB1k%2Fimg.png)
BST BST(Binary Search Tree)๋ ํธ๋ฆฌ์ ํ ์ข ๋ฅ์ด์ ์ด์งํ์์ ์ํ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ๊ณผ์ BST๋ฅผ ์ด์ฉํ ํ์์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ์ด์ง ํ์ ํธ๋ฆฌ ๋ง๋ค๊ธฐ (์์ฑ) ๋ฃจํธ ๋ ธ๋์์ ๋ด๋ ค๊ฐ๋ฉด์ ์ํ๋ ์์ ์ฐพ๊ธฐ (ํ์) ์ญ์ ๋ฐ ์ฝ์ ํ๊ธฐ (์ญ์ / ์ฝ์ ) ์์ ๋จผ์ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ณด์. ์ด์ง ํ์ ํธ๋ฆฌ๋ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ์๋ธํธ๋ฆฌ์๋ ๋ ์์ ๊ฐ์ ๋ ธ๋๊ฐ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์๋ ๋ ํฐ ๊ฐ์ ๋ ธ๋๊ฐ ์์ด์ผํ๋ค. ๋ฐ๋ผ์ ์์๋ฅผ ํ๋์ฉ ์ฝ์ ํ๋ฉด์ ์๋ง์ ์์น๋ฅผ ์ฐพ์์ฃผ๋ฉด ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋์จ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ์ค์ ์ํํ๋ฉด ์ ๋ ฌ๋ ๋ฆฌ์คํธ๊ฐ ๋๋ค. ๊ทธ ๋ค์์๋ ๋ฃจํธ ๋ ธ๋์์ ๋ด๋ ค๊ฐ๋ฉด์ ์ํ๋ ์์๋ฅผ ์ฐพ๊ณ ์ญ์ ํด๋ณด์. ์ํ๋ ์์๋ 6์ด๋ค. ์ผ์ชฝ ๊ทธ๋ฆผ์์ ์ค๋ฅธ์ชฝ ๊ทธ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmWlxf%2FbtqF4zB22hr%2FakAjE8lioRk28d9i5X9qkK%2Fimg.png)
๊ตฌ์กฐ์ฒด ๊ตฌ์กฐ์ฒด๋ ๋ฐฐ์ด๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ค๋ฅธ ์๋ฃํ์ ๋ณ์๋ค์ ๋ชจ์์ ํ๋์ ๋จ์๋ก ํํํ๋ ์๋ฃํ์ด๋ค. ์ฉ๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๊ทธ๋ํ์์ ๋ ธ๋๋ฅผ ๋ํ๋ผ ๋, ๋ฐ์ดํฐ์ ํฌ์ธํฐ ๋ถ๋ถ์ด ์กด์ฌํ๋ค. ๊ตฌ์กฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ์ ํฌ์ธํฐ ๋ถ๋ถ์ ๊ฐ๊ฐ ๊ตฌ์ฑํ์ฌ ํ๋์ ์๋ฃํ์ผ๋ก ๋ง๋ค์ด์ค ์ ์๋ค. ์ด ๋, ํฌ์ธํฐ๋ ํด๋น ๊ตฌ์กฐ์ฒด์ ํฌ์ธํฐํ์ด๋ฏ๋ก ์ด ๊ตฌ์กฐ์ฒด๋ ์์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด๊ฐ ๋๋ค. C++ struct Node { int value; Node* pointer; // ์์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด }; int main() { Node A; // ๊ตฌ์กฐ์ฒด ์ ์ธ A.value = 4; Node* Ap = A.pointer; // . ์ฐ์ฐ์๋ก ์ ๊ทผ int Avalue = A.value; Ap = A; Avalue = Ap->value; // ํฌ์ธํฐ๋ก ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT5BKn%2FbtqF3GIovQe%2FgTk6GPQbIx6rgXPG5NnrW1%2Fimg.png)
์๋ก ์๋ฃ๊ตฌ์กฐ ์๋ฃ๊ตฌ์กฐ๋ ์ปดํจํฐ์์ ์๋ฃ๋ฅผ ์ ๋ฆฌํ๊ณ ์กฐ์งํํ๋ ๋ค์ํ ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค. ํ๋ก๊ทธ๋จ์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ด๋ฃจ์ด์ ธ์๊ธฐ ๋๋ฌธ์, ์๋ฃ๊ตฌ์กฐ๋ ๋ฐ๋์ ๊ณต๋ถํด์ผํ๋ ๋ถ์ผ์ด๋ค. ์๋ฃ๊ตฌ์กฐ๋ ๋จผ์ ๋จ์ ์๋ฃ๊ตฌ์กฐ์ ๋ณตํฉ ์๋ฃ๊ตฌ์กฐ๋ก ๊ตฌ๋ถ๋๊ณ , ๋ณตํฉ ์๋ฃ๊ตฌ์กฐ์๋ ์ ํ ๊ตฌ์กฐ์ ๋น์ ํ ๊ตฌ์กฐ๊ฐ ์๋ค. ์์ฐจ์ ์ผ๋ก ์ดํด๋ณด์. ๋ฐฐ์ด, ๋ฌธ์์ด ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์คํ, ํ, ๋ฑ ๊ทธ๋ํ ํธ๋ฆฌ ํ ๊ตฌ์กฐ์ฒด
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlpSGO%2FbtqFPrJPTVL%2F7J98pjXuvOD7Ks08RKZ4h1%2Fimg.png)
๋ชฉ์ฐจ ๋ฐฐ์ด ์ ์ธ ์ด๊ธฐํ ์ ๊ทผ ๋ค์ฐจ์ ๋ฐฐ์ด ํฌ์ ํ๋ ฌ ํํ ์ฃผ์์ ํฌ์ธํฐ ํฌ์ธํฐ ํน์ง ์ ์ฝ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋์ ๋ฐฐ์ด(vector) ๋ฌธ์์ด ์ ์ธ ์ด๊ธฐํ ํจ์ ๋ฐฐ์ด / ๋ฌธ์์ด ๋ฐฐ์ด ๋ฐฐ์ด์ด๋ ๋จ์ผ ์๋ณ์๋ก _๊ฐ์ ์๋ฃํ_์ ์ฌ๋ฌ ๋ณ์๋ฅผ ์ ๊ทผํ ์ ์๊ฒ ํด์ฃผ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ ์ธ c++์์๋ int arr[3];์ ๊ฐ์ด ์๋ฃํ ๋ฐฐ์ด์ด๋ฆ[๋ฐฐ์ด ๊ธธ์ด];๋ก ๋ณ์๋ฅผ ์ ์ธํ๋ค. ์ด ๋, ๋๊ดํธ ๋ด์ ์์์ ๊ฐฏ์๋ '์ปดํ์ผ ํ์ ์์'์ฌ์ผํ๋ค. ์์ค์ฝ๋๋ฅผ ์ปดํ์ผํ ๋, ๊ณ ์ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์์์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ ๋งคํฌ๋ก ๊ธฐํธ ์์ (ex_ #define ARRAY_LEN 5)๋ ์ด๊ฑฐ์(ex_enum A{ARRAY_LEN = 5})๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ก ์ฌ์ฉํ ์ ์๋ค. const ๋ํ ์ปดํ์ผ ์ ๊ณ ์ ๋๋ ์์์ด๋ฏ๋ก ์ฌ์ฉ๊ฐ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD82ed%2FbtqBGfOlfjF%2FSOprKP5tcDK00lsyqCjBp0%2Fimg.png)
๋์ ํ ๋น malloc ํจ์ ์ฌ์ฉ void *malloc(size_t size) ํฌ์ธํธ ํ์ ๋ฐํํ๊ณ ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ฆ๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ex_) (int*)malloc(sizeof(int)*5) : intํ 5์นธ์ง๋ฆฌ ๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น ํ ์ฃผ์ ๋ฐํ ๋ฐฐ์ด์ ์๋ฏธ 2์ฐจ์ ๋ฐฐ์ด ๋ฐฐ์ด์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์ง 2์ฐจ์ ๋ฐฐ์ด์ ์์ ๋ก ์ค๋ช ํ๋ฉด, int ํ์ด๋ผ ๊ฐ์ ์ฒ์์๋ ์ด๋ ๊ฒ ํ ๋งํผ์ ๊ธธ์ด๋ฅผ ๊ฐ๋ 1์ฐจ์ ๋ฐฐ์ด์ ์์ฑํ๋ค. ์ด 1์ฐจ์ ๋ฐฐ์ด์ ํฌ์ธํฐ๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ด๋ค. ๊ฐ ํฌ์ธํฐ๊ฐ ์ด ๋งํผ์ ๊ธธ์ด๋ฅผ ๊ฐ๋ 1์ฐจ์ ๋ฐฐ์ด์ ๊ฐ๋ฅดํจ๋ค. ๋ฐ๋ผ์ ๋์ ํ ๋น์ ํ ๋๋ ๋๊ฐ์ ๋ฐฉ์์ผ๋ก int*ํ 1์ฐจ์ ๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋จผ์ ๋์ ํ ๋นํ ํ, ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ฐ๊ฐ์ ํฌ์ธํฐ ์์์ ์ ๊ทผํด์ intํ 1์ฐจ์ ๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ ํ ๋น ..
Comment