본문 바로가기
반응형

전체 글82

[Linking] Library interpositioning 공유 라이브러리 함수를 호출하려고 할 때 중간에 가로채면서(!) 내가 만든 다른 함수를 실행하게 하는 방법이다. Interpositioning 은 Compile time / Link time / Load & run time에서 모두 가능하다. Interpositioning을 하면 보안과 monitoring, profiling에 좋다고 한다. 보안은 왜 그런 지 모르겠지만, 함수 프로파일링에는 공감 : 함수가 몇 번 호출되는 지, malloc tracing하는 데 도움이 된다. 1) Compile time에서의 interpositioning 전처리기를 이용한 interpositioning으로 생각하면 된다. 헤더 내에 #define malloc(size) mymalloc(size) 와 같이 선언을 해버리면.. 2019. 5. 1.
[c++] 백준 #1992 쿼드트리 https://www.acmicpc.net/problem/1992 이것 또한 분할정복 문제이다. 백준 1780 종이의 개수 문제를 풀었다면 아주 쉽게 한문제를 먹을 수 있다.주어진 0, 1로만 이루어진 행렬을 4등분하였을 때 똑같은 숫자(all 0 or all 1)로만 이루어지지 않았다면 4등분하는 식으로 진행된다.트리의 괄호는 4등분이 시작할 때마다 열어주고, 끝날 때 닫아주면 끝이다. 문제의 행렬이 공백없이 주어지니 getline을 쓰는 것을 잊지 말아야한다.(cin.ignore()은 덤!) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636.. 2018. 11. 11.
[c++] 백준 #2263 트리의 순회 https://www.acmicpc.net/problem/2263 한참을 이게 왜 분할정복 문제인지 고민하면서 보다가 post order의 속성을 이용하면 된다는 것을 깨달았다. 그것이 큐이다! post order의 경우 left right root 순으로 읽기 때문에 post order를 거꾸로 읽으면 root에서부터 root -> right -> left 순이 된다. 즉, post order에서 뒤에서부터 값을 읽으면 root가 무엇인 지 알 수 있고, 이를 통해 in order로 받은 input을 root를 기준으로 그래프를 left와 right로 나눌 수 있다.(분할정복의 의미) 나는 문제를 풀 때 in order와 post order를 보고 그래프가 어떻게 생겼는지 유추하고 나서(...), pr.. 2018. 11. 11.
c++ binary_search 1. binary_search(starting point, ending point, value);특정 value가 어떤 container안에 있는 지 없는 지 bool 값으로 return함 // 백준 10815번 문제(숫자카드) 2. equal_range(starting point, ending point, value);특정 value가 어떤 container안에 몇 개 들어가있는지에 대한 정보를 제공 : pair로 lower_bound와 upper_bound를 return사용 예시 : auto a = equal_range(numbers.begin(),numbers.end(), value); // 백준 10816번 문제 (숫자카드 2) 2018. 11. 10.
반응형