728x90
반응형

5

백준, BOJ, 7662번, N번째 큰 수 C++ [CPP] ★★★

이 친구는 메모리제한이 빡세다. 그래서.. 새로운 방법을 생각해내야 했다. N이 1500번이라 1500*1500은 충분한데.. 공간이 부족하다..? https://www.acmicpc.net/problem/2075 힙 사이즈를 N으로 고정시켜서 1500 * 1500의 계산을 함에도 메모리가 부족하지 않게 했다. 이 생각을 한 번에 생각할 수는 없었고.. 그냥.. N번째 큰수라함은.. 가장 큰 수 5개 중 가장 작은 값이라 생각할 수도 있고 그냥 모든 수 중에서 5개라고 생각할 수도 있다. 위에 생각이 문제 푸는데 더 도움이 되었다. #맞은 풀이 #include using namespace std; priority_queue pq; //최소힙 int main(){ ios::sync_with_stdio(fa..

백준, BOJ, 1620번 C++ [CPP]

쉽지만 손이 좀 가는 문제다. 입력이 매우 많기 때문에.. 시간초과가 나기 십상이다. https://www.acmicpc.net/problem/1620 #맞은 풀이 #include #include #include #include using namespace std; int N,M; string name[100001]; // 해당 번호에 이름 저장해놓음 map m; int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> N >> M; for(int i = 1; i> s; name[i] = s; //-> 해당 번호에 이름을 입력 m.insert(make_pair(s,i)); } for(int i = 1; i> s; //숫자가 입력됐는지 확인 !!!!!!! 중요 /..

STL 맵, map 사용법 [C++]

맵이 뭔가 싶지만 C++의 dictionary를 맵이라 부른다. 즉, key ,value 짝의 자료구조를 맵이라 부른다. 그래서 선언할 때도 key자료형, value자료형 같이 선언한다. map: key와 value를 pair 형태로 선언한다. **unordered_map은 체이닝을 사용하는 해시 테이블로 구현되어 있다. 부하율이 1이 되면 해시 테이블의 크기를 키우고 재해싱을 하게 된다. 우선 Map이란 Maps are associative containers that store elements formed by a combination of a key value and a mapped value, following a specific order. 일반적으로 맵에서 key를 찾아서 value를 반환하는..

[C언어] 자료구조 - Hash 해시 ,해싱-1

기본적인 것만 알아보자. 우선 해시를 알기 전에 알아야 할게 있다. 탐색(search) 란 것이 무엇인지 알아야 하죠. 국어사전의 뜻과 같이 무엇인가를 찾는 작업이다. 그렇다면 컴퓨터에서는 뭘 찾는 것을 탐색이라고 말할까? –탐색을 위하여 사용되는 자료 구조 •배열, 연결 리스트, 트리, 그래프 등 바로 하나 이상의 필드로 구성된 레코드(record)의 집합에서 원하는 레코드를 찾는 것을 말한다. 또한 레코드들의 집합을 테이블(table)이라고 부른다. 그렇다면 레코드들의 집합인데 서로 어떻게 구분할까??? 레코드마다 서로 구별되는 키를 가지고 있는데 그것을 탐색키라고 한다. 여기까지 탐색을 알아보았다. 그런데 의미있는 단위를 이끌어 내기 위해서는 하나의 필드를 가진 레코드만으로는 부족하다. 그래서 맵(..

728x90
반응형