C++47 C++ 1. Two Sum(Leet Code) Leet Code_1. Two Sum https://leetcode.com/problems/two-sum/ 문제 해석 이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다. 목표 더해서 target 값이 되는 두개의 원소 찾기 방법 1. 더해서 target 값이 되는 두개의 원소 찾기 2. hash map을 사용한다. 결과 더해서 target 값이 되는 두개의 원소 찾기 통과한 코드 그냥 순회하면서 찾는 코드 class Solution { public: vector twoSum(vector& nums, int target) { vector res; for(int i = 0 ; i < nums.size() ; i++) { for(int j = i+1 ; j 2020. 6. 22. C++ 자료구조 - Deque Deque - LIFO, FIFO 두 가지 방식을 다 사용할 수 있는 스택큐 짬뽕. - VECTOR는 끝부분에 삽입할 때만 빠르지만 덱은 앞뒤로 다 빠름. 하지만 중간에 삽입 삭제 시 벡터처럼 밀거나 땡겨야되는 단점을 가진다.(여러개의 블록을 할당하므로) 1. 사용 - #include - deque [변수이름] 2. 생성자와 연산자(int로) - vector v; - 비어있는 vector v를 생성 - vector v(5); - 0으로 초기화 된 5개의 원소를 가지는 vector v를 생성 - vector v(5,2); - 2으로 초기화 된 5개의 원소를 가지는 vector v를 생성 3. 멤버 함수 - dq.assign(5,2); - 2의 값으로 5개의 원소 할당 - dq.at(idx); - idx번째.. 2020. 6. 21. C++ 자료구조 - Set Set - Map과 동일하나 Key 값만 이용한다. 완전 이진트리. 우리가 알고 있는 그 이진탐색트리랑 작동구조 똑같다. - Key 값은 데이터를 뜻함. - 이진탐색트리의 장점을 그대로 가지고 오므로, 정렬해야할때, 빨리 데이터를 찾아야 할때 좋다. 1. 사용 - #include - set [변수이름]; 2. 생성자와 연산자 - set s; - 기본 선언 방법 - set s(pred); - pred를 통해 정렬기준(오름, 내림) - set s2(s1); - s1을 복사한 s2를 생성 3. 멤버 함수 - s.begin(); - 맨 첫 번째 원소를 가리키는 iter - s.end(); - 맨 마지막 원소를 가리키는 iter - s.rbegin(); - 역으로 처음을 가키리는 iter - s.rend(); -.. 2020. 6. 21. C++ 자료구조 - Map Map - 완전이진트리. 구조로는 레드블랙트리를 사용한다. 키와 값을 이용한다. 정렬대상은 Key를 기준으로 오름차순으로 정렬한다. - 삽입이 되면서 자동으로 정렬 1. 사용 - #include - map [변수이름]; 2. 생성자와 연산자 - map m; - 기본 선언 방법 - map m(pred); - pred를 통해 정렬기준(오름, 내림) - map m2(m1); - m1을 복사한 m2를 생성 3. 멤버 함수 - m.begin(); - 맨 첫 번째 원소를 가리키는 iter - m.end(); - 맨 마지막 원소를 가리키는 iter - m.rbegin(); - 역으로 처음을 가키리는 iter - m.rend(); - 역으로 마지막을 가리키는 iter - m.clear(); - 모든 원소를 제거 - m.. 2020. 6. 21. 이전 1 2 3 4 5 6 7 ··· 12 다음