목록2024/08 (47)
지우너
문제https://www.codetree.ai/missions/8/problems/nearest-point?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 풀이#include #include #include using namespace std;int main() { int n, m; cin >> n >> m; // 가장 가까운 순, 값이 가장 작은 점이 top에 오도록 해야 함(-) //원점과 특정 점 (x, y)과의 거리는 ∣x∣+∣y∣ 로 생각 priorit..
개념set은 treeset 자료구조로 되어 있다. treeset은 균형잡힌 이진트리 구조로 데이터를 관리해준다.삽입, 삭제, 탐색 등 모든 함수의 시간복잡도가 전부$O(logN)$중복이 허용되지 않음 균형잡힌 이진 트리 (Balanced Binary Tree): 균형잡힌 이진 트리는 각 노드의 왼쪽 서브트리와 오른쪽 서브트리 높이 차이가 최대 1인 이진 트리균형잡힌 트리는 항상 높이 균형을 유지하기 때문에 트리의 깊이가 상대적으로 작다 → 탐색, 삽입, 삭제 등의 연산이 빠르게 수행됨ex) AVL 트리, 레드-블랙 트리 등 언제 쓰는가지금까지 살펴본 숫자들 중 특정 숫자 k보다 같거나 큰 숫자를 빠르게 구하는 경우지금까지 살펴본 숫자들 중 최댓값을 계속 구하는 경우지금까지 살펴본 숫자들 중 최댓값을 계속..
문제https://www.codetree.ai/missions/8/problems/problem-recommendation-system-1?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 풀이#include #include using namespace std;struct Compare{ bool operator() (const pair& lhs, const pair& rhs) const{ if(lhs.second==rhs.second) return lhs.first, C..
문제https://www.codetree.ai/missions/8/problems/take-place?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 풀이#include #include #include using namespace std;int main() { int n, m; cin >> n >> m; vector info(n); for(int i=0; i> info[i]; } // solution // [초기화] m개의 비어있는 의자 set ..
문제풀이#include #include using namespace std;int main() { int n, m; cin >> n >> m; set > s; for(int i=0; i> x >> y; s.insert({x, y}); } // 친한 점 찾기 x > x >> y; auto it = s.lower_bound({x,y}); if(it==s.end()) cout
문제https://www.codetree.ai/missions/8/problems/belonging-to-a-rock?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 풀이#include using namespace std;int arr[100001];int prefix_sum[4][100001]; // 각 돌은 그룹 1, 2, 3 중 하나에 무조건 속합니다.int main() { // input int n, q; cin >> n >> q; for(int i=1; i>..