ํ https://programmers.co.kr/learn/courses/30/lessons/42588?language=cpp ์ฝ๋ #include #include #include using namespace std; vector solution(vector heights) { int heights_len = heights.size(); vector answer(heights_len); stack stk; // index, key for (int i = heights_len - 1; i>0; i--) { if (heights[i - 1] > heights[i]) { answer[i] = i; // stack while (stk.size() != 0) { auto tmp = stk.top(); if (h..
์คํ ํน์ง ์ฉ๋ ์ฐ์ฐ ์ฝ์ ์ญ์ ์ ๊ทผ ๊ตฌํ ํ ์ฉ๋ ์ข ๋ฅ ์ฐ์ฐ ์ฝ์ ์ญ์ ์ ๊ทผ ๊ตฌํ ์ฐ์ ์์ ํ ๋ฑ ์ฉ๋ ๊ตฌํ ์คํ ์คํ์ LIFO(Last-In First-Out), ์ฆ ํ์ ์ ์ถ์ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ ํํ์ด๋ฉฐ, ์ ์์ฒ๋ผ ์์ฌ์ ์ดํ์ ์ฝ์ ๋ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋น ์ ธ๋๊ฐ๋๋ก ๋์ด์๋ค. top ๋ณ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ ์คํ์ด ๋น์ด์์ผ๋ฉด -1์ด๋ค. ํน์ง LIFO ๋ด๋ถ ์์๋ฅผ ํ์ธํ ๋ฐฉ๋ฒ์ด pop ๋ง๊ณ ๋ ์๋ค. ์ฉ๋ ์ ๋ ฅ์ ์ญ์์ด ํ์ํ ๋ ์คํ์ ์ฃผ๋ก ์ฌ์ฉํ๋ฉฐ, ํจ์์ ํธ์ถ์์ ๋ณต๊ท ์ฃผ์๋ฅผ ๊ธฐ์ตํ๊ธฐ ์ํด์ ์์คํ ์คํ์ด ์ฌ์ฉ๋๊ธฐ๋ ํ๋ค. ๋ํ ๊ดํธ ๊ฒ์ฌ, ๊ณ์ฐ๊ธฐ, ๋ฏธ๋ก ํ์ ๋ฑ์ ๊ฒฝ์ฐ์ ์คํ์ด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ๊ณ์ฐ๊ธฐ์์ ์ค์ ํ๊ธฐ์(infix)์ ํ์ ํ๊ธฐ์(postfix)์ผ๋ก..
์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋ฆฌ์คํธ๋? ์ ์ ๋ฐฐ์ด๊ณผ์ ๋น๊ต ์ฐ์ฐ ์ฝ์ ์ญ์ ์ ๊ทผ ์ข ๋ฅ / ๊ตฌํ ๋ฆฌ์คํธ๋? ๋ฆฌ์คํธ๋ ์์๋ฅผ ๊ฐ์ง ํญ๋ชฉ๋ค์ ๋ชจ์์ด๋ค. ์ด๋ฅผ ๋ํ๋ด๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ 2๊ฐ์ง๊ฐ ์๋๋ฐ, ํ๋๋ ๋ฐฐ์ด์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด๊ณ ๋๋จธ์ง ํ๋๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐฐ์ด์ ์ด์ฉํ ๋ฆฌ์คํธ๋ฅผ ์ ํ๋ฆฌ์คํธ๋ผ๊ณ ํ๋๋ฐ ๊ตฌํ ์์ฒด๋ ๊ฐ๋จํ๊ณ ์์์ ๊ทผ์ด ๊ฐ๋ฅํ์ง๋ง, ์ฝ์ / ์ญ์ ์ฐ์ฐ ์ ๋ค๋ฅธ ์์๋ค์ ์ด๋์ด ๋ถ๊ฐํผํ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ํฌ๋ค. ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๊ตฌํ์ด ๋ณต์กํ๊ณ ์์ฐจ์ ๊ทผ์ด ํ์ํ์ง๋ง ์ฝ์ , ์ญ์ ๊ฐ ํจ์จ์ ์ด๋ค. ์ ์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฐ์ดํฐ์ ๋งํฌ๋ก ์ด๋ฃจ์ด์ง ๋ ธ๋๋ก ๊ตฌ์ฑ๋์ด์๋ค. ๋งํฌ๋ ๋ค์ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์ด๋ค. ์ฐ๊ฒฐ๋ฆฌ์คํธ์ ์ฒ์์๋ ํค๋ ํฌ์ธํฐ๊ฐ ํค๋ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์์ผ๋ฉฐ, ๋ง์ง๋ง ๋ ธ๋์ ๋งํฌ๋ ..
๋ชฉ์ฐจ ๋ฐฐ์ด ์ ์ธ ์ด๊ธฐํ ์ ๊ทผ ๋ค์ฐจ์ ๋ฐฐ์ด ํฌ์ ํ๋ ฌ ํํ ์ฃผ์์ ํฌ์ธํฐ ํฌ์ธํฐ ํน์ง ์ ์ฝ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋์ ๋ฐฐ์ด(vector) ๋ฌธ์์ด ์ ์ธ ์ด๊ธฐํ ํจ์ ๋ฐฐ์ด / ๋ฌธ์์ด ๋ฐฐ์ด ๋ฐฐ์ด์ด๋ ๋จ์ผ ์๋ณ์๋ก _๊ฐ์ ์๋ฃํ_์ ์ฌ๋ฌ ๋ณ์๋ฅผ ์ ๊ทผํ ์ ์๊ฒ ํด์ฃผ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ ์ธ c++์์๋ int arr[3];์ ๊ฐ์ด ์๋ฃํ ๋ฐฐ์ด์ด๋ฆ[๋ฐฐ์ด ๊ธธ์ด];๋ก ๋ณ์๋ฅผ ์ ์ธํ๋ค. ์ด ๋, ๋๊ดํธ ๋ด์ ์์์ ๊ฐฏ์๋ '์ปดํ์ผ ํ์ ์์'์ฌ์ผํ๋ค. ์์ค์ฝ๋๋ฅผ ์ปดํ์ผํ ๋, ๊ณ ์ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์์์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ ๋งคํฌ๋ก ๊ธฐํธ ์์ (ex_ #define ARRAY_LEN 5)๋ ์ด๊ฑฐ์(ex_enum A{ARRAY_LEN = 5})๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ก ์ฌ์ฉํ ์ ์๋ค. const ๋ํ ์ปดํ์ผ ์ ๊ณ ์ ๋๋ ์์์ด๋ฏ๋ก ์ฌ์ฉ๊ฐ..
์นดํซ ์ฝ๋ #include #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; vector candidate; for (int i = 1; i ๋ง์ผ๋ฉด (๊ฐ๋ก, ์ธ๋ก) ๊ธธ์ด๋ฅผ ๊ฒฐ๊ณผ vector์ ๋ฃ์ด์ return brown ๊ฐฏ์ = 2*๊ฐ๋กyellow + 2*์ธ๋กyellow +4 4 : ์์ชฝ ๋ชจ์๋ฆฌ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋ #include #include using namespace std; vector solution(int brown, int red) { int len = brown / 2 + 2; int w = len - 3; int h = 3; while(w >= h){ if(w * h ..
์ซ์์ผ๊ตฌ ์ฝ๋ #include #include using namespace std; bool check(int* arr, vector& bb) { int num = bb[0]; int s = bb[1]; int b = bb[2]; int n[3]; n[0] = num / 100; n[1] = (num - n[0] * 100) / 10; n[2] = (num - n[0] * 100 - n[1] * 10); //strike check int t_num = 0; for (int i = 0; i < 3; i++) { if (n[i] == arr[i]) t_num++; } if (t_num != s) return false; t_num = 0; for (int i = 0; i < 3; i++) { if (n[i]..
https://programmers.co.kr/learn/courses/30/lessons/42839 ์ฝ๋ #include #include #include #include using namespace std; set res; void test(int num) { if (num num์ด ์ต๋ 9999999 (10^7) if (num%i == 0) return; } res.insert(num); return; } void makePrime(vector& memo,int num) { if (memo.size()==0) return; int size = memo.size(); for (int i = 0; i < size; i++) { // 7 int value = memo[i]; test(num * 10 + v..
https://programmers.co.kr/learn/courses/30/lessons/42840 ๋์ถฉ ํ๋ฉด ์ฌ์ด ๋ฌธ์ . ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ณ ๋ช ํํ๊ฒ ์ฐ๋ ๊ฑธ ์ฐ์ตํ์. ์ฝ๋ #include #include #include using namespace std; vector solution(vector answers) { vector answer; int size = answers.size(); int correct[3] = { 0,0,0 }; int secondList[4] = { 1,3,4,5 }; int thirdList[5] = { 3,1,2,4,5 }; for (int i = 0; icorrect[1]) { if (correct[1] >= correct[2]) { answer.push_back(1..
Comment