본문 바로가기
반응형

cpp153

[알고리즘] 치킨 배달 포인트 1. 조합을 이용을 하여 m개 까지 치킨집을 구할 수 있는가? 조합을 구하는 건 보통 3가지가 있는 것 같다. - 순열을 활용하여 조합을 구성하는 방법 - 확인 배열을 만들고 조합을 구성하는 방버 - 선택, 비선택 원리를 이용하여 조합을 구하는 방법 (제일 직관적이라고 생각합니다.) 2. 재귀를 잘 할 수 있는가? - 파이썬으로도 도전을 해보자 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 재귀 조합을 이용하여 푸는 방법 // 본인이 조합을 구할 때 주로 쓰는 방법 #include #include #include using namespace std; int n, m; int map[51][51]; vector house, chicken, sel; vector dists; int dist.. 2021. 3. 7.
[알고리즘] missing Number 포인트 1. 완전탐색 (Bruteforce), 짐승힘에 위력은 어디까지 인가? 2. 수학을 배우는 이유? 처음에는 변수 하나를 두고 더해가면 없는 것을 확인을 했다. 하지만 어떤 N 까지의 합에서 가지고 있는 것에 합을 빼주면 없는 값이 나오는 것을 확인할 수 있다. 참신하다. (누적합에 냄새도 스멀스멀 난다.) 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include using namespace std; class Solution { public: int missingNumber(vector& nums) { int n = nums.size(); int a = accumulate(nums.begin(), nums.end(), 0); return (n*(n+1))/2 - a;.. 2021. 3. 4.
[알고리즘] Distribute Candies 포인트 1. 사탕을 어떻게 나누어야 하는가를 고민을 해보자 사탕을 나누는 방법은 종류가 상한선 보다 적으면 종류를 반환을 하고 상한선보다 같거나 크다면 상한선을 반환을 한다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include using namespace std; class Solution { public: int distributeCandies(vector& candyType) { unordered_set set1(candyType.begin(), candyType.end()); return min(set1.size(), candyType.size()/2); } }; python from collections import Counter class Solution: d.. 2021. 3. 2.
[알고리즘] 연구소 시리즈 (연구소) 포인트 1. 벽을 세우는 방법을 알아야 한다. for loop 를 사용하는 방법, 재귀를 이용하여 사용하는 방법 만약 수가 정해져 있다면 for loop 가 직관적 일 수 있다. c++/cpp for loop 를 이용하여 문제를 해결하는 방법 #include #include #include using namespace std; int n, m; int map[9][9]; int cmap[9][9]; int dx[] = {1, -1, 0, 0}; int dy[] = {0, 0, 1, -1}; int bfs() { queue q; //bfs 를 위한 큐 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { // 맵을 복사를 해야 하는 이유 // 바이러스 .. 2021. 3. 2.
반응형