๐ Self Study65 LeetCode (Two Sum) C++ class Solution { public: vector twoSum(vector& nums, int target) { vector answer; for(int i = 0 ; i < nums.size() - 1 ; i++) { for(int j = i+1 ; j < nums.size() ; j++) { if(nums[i] + nums[j] == target) { answer.push_back(i); answer.push_back(j); } } } return answer; } }; 2022. 1. 7. LeetCode (Employee Importance) C++ BFS๋ก ์ ๊ทผํด์ ํผ ๋ฌธ์ . ๋จธ๋ฆฟ ์์ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค๋ฉด ๋ด๊ฐ ํญ์ ํ๋ ๋ฐฉ์์ด ์๋๋ผ ์ฃผ์ด์ง Structure๋ก ํ ์ ์์ด์ผ ํ๋ ๋ฌธ์ ์๋ค. BFS๊ฐ ๊ฐ๋ฌผ๊ฐ๋ฌผ ํด์ง๋ฉด ๋ณด๋ฌ์ค์! /* // Definition for Employee. class Employee { public: int id; int importance; vector subordinates; }; */ class Solution { public: int getImportance(vector employees, int id) { int answer = 0; int index = 0; queue q; q.push(id); while(!q.empty()) { int node = q.front(); // id์ ํด๋นํ๋ ๊ฒ์ด ๋ช ๋ฒ์งธ index.. 2022. 1. 6. LeetCode (Sum of Left Leaves) C++ left leave๋ฅผ ๋ง๋ ๋์ ์กฐ๊ฑด์ ํด๋น node์ left์ right๊ฐ ๋ชจ๋ null ์ธ ๊ฒฝ์ฐ ์ด๋ฏ๋ก ํด๋น ์กฐ๊ฑด์ผ ๋ return ํ๊ณ ์๋ ๊ฒฝ์ฐ๋ ๋ชจ๋ ํ์ํด์ ๋ค์ด๊ฐ๋ฉด ๋๋ค. /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(le.. 2022. 1. 6. ๋ฐฑ์ค BaekJoon (DFS์ BFS, 1260) C++ ์์ ์ ์ ์ค์ ์ ์ ๋ฌธ์ . ํ๋ฉด DFS์ BFS์ ๊ฐ๋ ์ ๋ํด์ ๋ค์ ์ก์ ์ ์๋ค. #include #include #include #include #include using namespace std; int main() { int vertex = 0; int edge = 0; int first = 0; cin >> vertex >> edge >> first; vector adj(vertex+1); vector visited(vertex+1, 0); for(int i = 0 ; i > one >> two; adj[one].push_back(two); adj[two].push_back(one); } for(int i = 1 ; i 2022. 1. 5. ๋ฐฑ์ค BaekJoon (๋ฐ์ด๋ฌ์ค, 2606) C++ BFS ๋ก ๊ฐ๋จํ๊ฒ ์ฌ์ดํด์ visitedํ๊ฒ ๋๋ node๊ฐ ๋ช ๊ฐ์ธ์ง ์ธ์ด์ฃผ๋ฉด ๋๋ค. #include #include #include using namespace std; int main() { int computer = 0; int num = 0; cin >> computer; cin >> num; vector adj(computer+1); vector visited(computer, 0); queue q; for(int i = 0 ; i > one >> two; adj[one].push_back(two); adj[two].push_back(one); } // for(int i =1 ; i < adj.size() ; i++).. 2022. 1. 5. ํ๋ก๊ทธ๋๋จธ์ค (์ด์ค์ฐ์ ์์ํ, ํ(Heap)) C++ priority_queue => Min Heap priority_queue => Max heap ์ฐ์ ์์ ํ๋ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๊ฐ์ฅ ํจ์จ์ ์ผ๋ก ํ์ธํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ฏ๋ก ํด๋น STL์ ์ฌ์ฉํ๋ค๋ฉด ์์ฝ๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ๋ ๊ฐ์ Heap์ผ๋ก ํ๋์ ์ํฉ์ ์ฒ๋ฆฌํ๋ค๋ณด๋๊น heap์ ํฌ๊ธฐ๋ฅผ ๋์ผํ๊ฒ ์นด์ดํธ ํด์ค ์ ์๋ ๋ณ์๊ฐ ํ์ํ๋ค๋ ์ ์ด๋ค. ๋ง์ฝ pop์ ํ๋๋ฐ ํฌ๊ธฐ๊ฐ 0์ด ๋ ๊ฒฝ์ฐ ๋ ๊ฐ์ Heap์ ๋ชจ๋ ์ด๊ธฐํํด์ค ํ์๊ฐ ์์๋ค. (์ ์ผ ์ค์ํ ์ ) #include #include #include #include #include using namespace std; vector solution(vector operations) { vector answer; int hea.. 2022. 1. 5. ํ๋ก๊ทธ๋๋จธ์ค (๋์คํฌ ์ปจํธ๋กค๋ฌ, ํ(Heap)) C++ sort ์ ๋ ฌ์ ํ ๋ cmp๋ฅผ ์ฌ์ฉํด์ ์๊ณ ๋ฆฌ์ฆ์ ์์ฑํ์์ง๋ง ํ ์คํธ ์ผ์ด์ฌ ์ ๋ถ ํต๊ณผํ์ง ๋ชปํ๋ค. ์์ฒญํ ์์๋๋ก ์ถ๊ฐ๋ฅผ ํ๊ณ ์ถ๊ฐ๋ฅผ ํ ๋ ์ฐ์ ์์ ํ๋ฅผ ์ด์ฉํด์ operation์ ์ถ๊ฐํด์ ๋ฃ์ผ๋ฉด ํ ์คํธ ์ผ์ด์ฌ ๋ชจ๋ ํต๊ณผํ ์ ์๋ค. #include #include #include #include #include using namespace std; struct cmp { bool operator()(vectora, vector b) { return a[1] > b[1]; } }; int solution(vector jobs) { int answer = 0; int task = 0; int time = 0; // pq์ ๊ฐ์ ๋ฃ๊ฒ ๋๋ ๊ฒฝ์ฐ ์์ ์๊ฐ์ด ์งง์ ์์๋๋ก ์ ๋ ฌ์ด ๋๋ค. priority.. 2022. 1. 5. Deep Learning(Fully-connected Layers, CNN in PyTorch) Fully connected Layers Neural Network์ ๋ง์ง๋ง์ Classification ๋๋ Regression์ ์ํํ๋ค. ๋ง์ด ์ฌ์ฉ๋๋ Regression์ด Detection์ด๋ค. ์ด๋ค ์ค๋ธ์ ํธ๊ฐ ์์ ๋ Bounding Box๋ฅผ ์ฐพ์๋ด๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๊ฒ์ด Regression ๋ฌธ์ ๋ก ํ๋ฆฐ๋ค. CNN in PyTorch ํ์ด์ฌ์์ ํด๋์ค๋ฅผ ์ ์ํ๋ ๋ฌธ๋ฒ. nn.Modulel์ด๋ผ๋ ํด๋์ค๋ฅผ ์์๋ฐ์์ Net์ ์ ์ํ๊ฒ ๋ค. def๋ ๋ฉ์๋์ ํด๋นํ๋๋ฐ, __init__ ์ ์ปจ์คํธ๋ญํฐ์ ํด๋นํ๋ค. Neural Network๋ฅผ ์ ์ํ๋ค. ์ ๋ ฅ Layer(RGB)๊ฐ ๋ค์ด์์ 6๊ฐ์ Feature๋ฅผ ๋ง๋ค์ด๋ธ๋ค. ๊ทธ ๋ค์ Max-pooling์ ํตํด์ ์ ๋ฐ ํฌ๊ธฐ๋ก ์ค์ธ๋ค. ๋ค์ Convolu.. 2022. 1. 4. ํ๋ก๊ทธ๋๋จธ์ค (๊ฐ์ฅ ํฐ ์, ์ ๋ ฌ) C++ ์ผ๋จ ์์ด๋ก ์ ๊ทผ์ ํ๋๋ฐ ๋ช ๊ฐ์ Test case๊ฐ ๋์๊ฐ์ง ์์์ ์ข ๋ต๋ตํ๋ค. Sort๋ฅผ ํ ๋ ๋น๊ต ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋๊น ๋ฐ๋ก ํ๋ ธ๋ ๋ฌธ์ #include #include #include #include using namespace std; bool cmp(const string& a, const string& b) { if(a + b > b + a) return true; else return false; } string solution(vector numbers) { string answer = ""; vector real; // ๋ฒกํฐ์ string์ผ๋ก ํ ๋น for(int i = 0 ; i < numbers.size() ; i++) { real.push_back(to_string(number.. 2022. 1. 4. ํ๋ก๊ทธ๋๋จธ์ค (ํ๋ฆฐํฐ, ์คํ/ํ) C++ map์ ๊ฐ๋ ์ผ๋ก index์ value๊ฐ ๋ชจ๋ ํ์ํ ๋ฌธ์ ์๋ค. Map์ ์ด์ฉํด์ Pair๋ฅผ ๋ง๋ค๊ณ ์ด๋ฅผ Queue์ ๋ฃ์ด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผ์ ํ๋ค๊ฐ ์ ๋์ง ์์๋ค. ๊ทธ๋์ queue ์์ฒด๋ฅผ ํ ์์ ๋ง๋ค์ด์ ํ ๋น์ ํ๋๋ ์ ํ๋ ธ๋ค. Queue๋ฅผ ์ฌ์ฉํด์ ํ ๋ฐฉ์ ๋ฌธ์ ๊ฐ ํ๋ ธ๋ค... ๋๋ฌด ๊ธฐ๋ถ์ด ์ข์๋ฐ...? #include #include #include #include #include using namespace std; int solution(vector priorities, int location) { int answer = 0; int index = 0; queue q; // key์ index ๊ฐ์ ๋ฃ๊ณ value์ ์ฐ์ ์์๋ฅผ ๋ฃ์ด์ค๋ค. for(int i =0 ; i < prioritie.. 2022. 1. 4. ์ด์ 1 2 3 4 5 6 7 ๋ค์