Algorithm
-
[프로그래머스/c++] 체육복Algorithm 2020. 7. 17. 16:17
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으..
-
[c++] segmentation fault (core dumped) error / assign() iteratorAlgorithm 2020. 7. 17. 03:11
구글링을 해보면, segmentation fault (core dumped) 에러는 주로 메모리 영역의 잘못된 접근에 의해 일어난다. 문제를 풀다가 assign에서 그런 에러가 나길래 찾아봤다. template void assign(InputIterator first, InputIterator last); void assign(size_type n, const T& u); assign의 정의인데, iterator를 이해하지 못하고 그냥 함수를 가져다 써서 생긴 문제였다. 원래 썼던 코드는 이것이었다. copy_arr.assign(array[from], array[to]); * from, to는 int 변수 iterator를 넣어야 하는데 그냥 벡터의 인자에 접근했다. 고친 코드는 vector::itera..
-
[c++] map, unordered_map 사용법Algorithm 2020. 7. 15. 20:10
선언 map name; unordered_map name; //key, value에 int,string,bool등 자료형 넣음 c++ 에서 제공하는 map은 데이터를 정렬하여 저장한다. 따라서 정렬이 필요 없을 경우에는 unordered_map 을 사용하는 것이 훨씬 성능이 좋다. 데이터가 N개일때 탐색속도는 map 의 경우 O(logN) unordered_map 의 경우 O(1) 가 된다. map에 원소 추가 name.insert(make_pair(key,value)); name[key] = 2; // ex) map m; m.insert(make_pair("one",1)); m["one"] = 1; map 원소에 접근 name[key] name.at(key) map 키값으로 찾기 name.find("o..