최소힙2 [프로그래머스] 더 맵게 / 힙(Heap) c++ https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최소 힙을 이용하는 문제였다. 보자마자 최소힙이 생각났는데 선언방법을 까먹어서 구글링했다. 코테에서 나왔으면 못풀었을것같다. 자료구조 문제를 많이 풀지 않다보니 계속 까먹는다. 복습해야겠다. 우선순위 큐는 다음과 같이 선언할 수 있다. 기본적인 자료형인 int 형을 원소로 쓰고 최대힙으로 하려면 아래처럼 생략해도 된다.(디폴트 : 최대힙) priority_queue pq; // - > priori.. 2023. 1. 20. [프로그래머스] 디펜스 게임 c++ *O(nlogn)안에 풀어야 할 때 최소 힙 생각하기 풀이 1.최소 힙을 통해서 enemy 벡터를 앞에서부터 정렬해준다. 2. 최소힙의 사이즈가 k개가 넘어가면 최소힙의 제일 작은 원소 즉 0번째 값을 삭제하고 sum에 더한다. (top(), pop() 사용) 3. sum이 n보다 커지면 for문을 탈출한다. 이때 i값이 답. 모든 라운드를 막을 수 있을때는 enemy의 size 반환. **제일 큰 k개에 "무조건"을 써야되기 때문에 최대힙을 써야할줄 알았는데 최소힙을 써야했다. 왜냐하면 pop()을 할때 맨 앞에 있는 원소를 삭제하는데 제일 작은 원소를 삭제하기 위해서이다. #include #include #include using namespace std; int solution(int n, int .. 2023. 1. 1. 이전 1 다음