title: "C++ string Header" excerpt: " of C++" category: Cpp-Reference tags: [C++, string] toc: true String of C++ #include for. 문자열 사용 생성자 #include // 헤더 선언 using namespace std; // 필요! string str; // 기본 문자열 선언, '+=' 연산자 사용하려면 ""로 초기화 string str(s); // str를 선언(s를 복사한), =복사생성자 string str(n, c); // n개의 char형 c문자로 초기화된 str 선언 멤버 함수 #include using namespace std; // 필요! string str; str.resize(..
title: "C++ Skills" excerpt: "Skills by C++" category: Cpp-Reference tags: [ C++, , , iterator, sort, permutation, combination, dfs, bfs, brute-force, union-find, merge, set_union, set_intersection, set_difference, lower_bound, upper_bound, , ] toc: true Skills by C++ 모든 부분집합 by bit & bit & 연산으로 모든 부분집합 구하기 #include using namespace std; vector getSubsets(vector arr){ vector totalSet; // 결과 Set i..
title: "C++ set Header" excerpt: " of C++" category: Cpp-Reference tags: [C++, set, multiset] toc: true set, multiset of C++ #include 집합(set) 용으로 사용 vs map(key로 value 검색) Only. key로 이루어짐. 중복 불가능: set 중복 가능: multiset( 에 존재) 삽입 후 key 값으로 자동 오름차순(디폴트) 정렬 생성자(set) #include // 헤더 선언 // set(중복 불가능) set s; // 기본 set 선언(insert(key)로 삽입) set s2(s1); // s2를 선언(s1을 복사한), =복사생성자 set s; // key 값 내림차순 자동 정렬 s..
title: "C++ queue Header" excerpt: " of C++" category: Cpp-Reference tags: [C++, queue, priority_queue] toc: true Queue of C++ #include Queue(FIFO 구조) for. BFS(너비 우선 탐색) for. 우선 순위 큐(priority_queue) 사용, default: top() 값은 큰 값 생성자 #include // 헤더 선언 // 기본 큐 queue q; // 기본 T 형 큐 선언 queue q; // List 구조 + 큐 선언(default: deque 구조) // 우선 순위 큐 priority_queue pq; // 기본 T형 우선 순위 큐 선언 priority_queue pq; // d..
title: "C++ map Header" excerpt: " of C++" category: Cpp-Reference tags: [C++, map, multimap] toc: true map, multimap of C++ #include Search 용으로 사용(key로 value 검색) vs (Only. key만 존재) (key, value)로 이루어짐. 중복 불가능: map 중복 가능: multimap( 에 존재) 삽입 후 key 값으로 자동 오름차순(디폴트) 정렬 생성자(map) #include // 헤더 선언 // map(중복 불가능) map m; // 기본 map 선언(pair로 삽입) map m2(m1); // m2를 선언(m1을 복사한), =복사생성자 map m; // key 값 내림차순 ..
title: "C++ Reference" excerpt: "C++ Reference" category: Language-Reference tags: [ C++, , , vector, string, queue, priority_queue map, set, multimap, multiset, iterator, sort, permutation, combination, dfs, bfs, brute-force, union-find, merge, set_union, set_intersection, set_difference, , ] toc: true Skills by C++ 모든 부분집합 by bit & bit & 연산으로 모든 부분집합 구하기 #include using namespace std; vector ge..
title: "메뉴 리뉴얼" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-27" 문제 링크 메뉴 리뉴얼 C++ #include #include #include #include using namespace std; vector solution(vector orders, vector course) { vector answer; map course_count; // 코스당 주문 횟수 map length_max; // 조합 길이당 코스 주문 갯수 최대 for(int len: course){ length_max[len]=0; // init } for(string& str: orders){ stable_sort(str.begin(..
문제 링크 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 풀이 문제가 한 노드에서 모든 노드의 최단 거리를 구하는 문제로 BFS로 바로 방문을 검사하며 구현하였다. // init 1. 큐 선언 2. 방문 배열 선언 3. 그래프(multimap) 선언 4. 1번 노드로부터 최단 거리 배열 선언 // init(Graph) 파라미터로 주어진 edge를 순회하면서 multimap에 양방향으로 추가한다. // process(BFS) 1. 먼저 1번 노드와 연결된 노드들을 큐에 push 2. push 한 노드들은 모두 방문 처리를 한다. 3. push 한 노드들은 1번 노드로부터 최단 거..