목록문제풀이 (155)
말랑한 하루
※ 소스코드는 각 문제 설명 하단에 를 통해 확인하실 수 있습니다. [sliver4, 17266 어두운 굴다리] - 이분탐색문제에서 요구하는 결과 값은 "가로등의 높이"이다. 이를 pivot으로 두고 이분탐색을 진행하며, 가로등이 굴다리 전체를 비추고있는지 그렇지 않은지를 판단하여 mid값을 조정한다. 굴다리 전체가 비춰지고 있다면, 현재 mid값은 최적이거나 너무 높은것이므로 right를 줄이고 굴다리 전체가 비춰지지 않고 있다면, 현재 mid값은 너무 낮은것이므로 left를 높인다. 최적의 해를 찾아야하므로 left와 right가 동등할 때 까지 판단하는 것이 좋다. 굴다리가 비춰지는지 판단하기 위한 핵심은 가로등을 기준으로 이전의 가로등(prev)가 비추는 오른쪽 끝값과, 이후의 가로등(next)..
※ 소스코드는 각 문제 설명 하단에 를 통해 확인하실 수 있습니다. [sliver1, 11286 절대값 힙] - 우선순위 큐문제를 품에 별 어려움은 없으나, 우선순위 큐를 사용할 때 커스텀 정렬을 사용하고 싶다면C++에서는 무조건 "struct compare"로 선언할 것을 명심하자더보기#include #include #include #pragma warning(disable:4996)using namespace std;int N, num;struct Data { int value; int type;};struct compare { bool operator()(Data a, Data b) { if (a.value == b.value) { return a.type > b.type; } return..