반응형 전체 글58 C++ STL Map 사용법 Map이란?map은 각 노드가 key와 value로 이루어진 트리이다. 중복을 허용하지 않는게 특징이다.그리고 map은 검색, 삽입, 삭제 등이 O(logn)인 레드블랙트리로 구성되어 있다. map map1; map은 기본적으로 key를 기준으로 오름차순으로 정렬을 한다.만약 내림차순으로 사용하고 싶다면 map map1;로 사용하면 된다. Map 삽입그리고 map을 삽입할 때 가장 중요한 점은 pair 객체로 넣어야 한다는 것이다. map1.insert(pair(1, 2)); Map 검색map은 기본적으로 데이터를 찾을 때 iterator를 사용한다.그래서 map의 멤버함수인 find를 사용했을 때 만약 찾는 값이 존재하면 그 값의 주소를 반환하고 그렇지 않다면 map.end()를 반환한다.if(map.. 2023. 4. 14. Hash c++ 개념 정리 Hash Hash는 기본적으로 임의의 길이의 문자열을 받아 고유한 key값을 생성한다. 그리고 그 key값에 value를 저장한다. 이렇게 저장을 할 때 같은 key값이 나올 수도 있다. 그래서 그러한 경우에는 Chaning 방법을 써서 해결하면 된다. Chaning이란 연결리스트를 통해 바로 뒤로 이어서 저장을 한다. 해싱함수 #define MAX_TABLE 10000 // 내가 필요한 만큼의 테이블 크기로 잡아주면 된다. int hashing(string input){ // 정수로 바꿔 주는 함수이다. int div = 401; // 이렇게 정수로 바꿀때 특정한 소수들을 이용하면 최대한 key값이 겹치지 않게 만들 수 있다. int i = 0; int len = input.length(); while.. 2023. 4. 14. 백준 1269번 (대칭 차집합) c++ 문제 문제 풀이 두 가지 방법으로 이 문제를 풀 수 있다. 1. Map을 사용하는 방법 2. Hash를 사용하는 방법 Map이란? map은 각 노드가 key와 value로 이루어진 트리이다. 중복을 허용하지 않는게 특징이다. 그리고 map은 검색, 삽입, 삭제 등이 O(logn)인 레드블랙트리로 구성되어 있다. map map1; map은 기본적으로 key를 기준으로 오름차순으로 정렬을 한다. 만약 내림차순으로 사용하고 싶다면 map map1;로 사용하면 된다. Map 삽입 그리고 map을 삽입할 때 가장 중요한 점은 pair 객체로 넣어야 한다는 것이다. map1.insert(pair(1, 2)); Map 검색 map은 기본적으로 데이터를 찾을 때 iterator를 사용한다. 그래서 map의 멤버함수인 .. 2023. 4. 14. 백준 1065번(한수) c++ 문제 문제풀이 문제에서 N은 1000 이하의 자연수이다. 그러면 총 세가지의 경우로 나눠 생각할 수 있다. 1 ~ 9 / 10 ~ 99 / 100 ~ 999 로 나눌 수 있다. 그런데 1 ~ 9는 하나의 숫자 밖에 없기 때문에 자동적으로 한수가 된다. 그리고 10 ~ 99 또한 두가지 숫자 밖에 없기 때문에 무조건 등차수열이 될 수 밖에 없다. 그러면 우리는 100 ~ 999의 경우만 생각을 하면 된다. hun = i / 100; ten = (i % 100) / 10; one = i % 10; int fir = hun - ten; int sen = ten - one; if (fir == sen) { stan++; } 이렇게 각 자리의 수를 구한 뒤, 각 자리 끼리 차이를 구하여 만약 차이가 같다면 cou.. 2023. 4. 9. 이전 1 ··· 9 10 11 12 13 14 15 다음 반응형