본문 바로가기

우선순위 큐2

[C++] 백준 11286번 : 절댓값 힙 https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 풀이 우선순위 큐의 힙 구조를 이용해서 빠르게 정렬을 하는 것이 포인트이다! 절댓값과 일반 값 모두 따져야 해서 pair 구조를 이용했고 내부적으로 정리하기 위해서 구조체를 구현했다! 느낀 점 그렇게 어렵지 않은 문제인데 오랜만에 코딩을 하다 보니까 많이 버벅거렸다. 꾸준히 계속 연습해야겠다. 코드 #include #include #include using namespa.. 2022. 1. 18.
[C++] 백준 2075번 : N번째 큰 수 https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net 문제 풀이 우선순위 큐로 풀 수 있는 문제이다. 우선순위 큐를 올림차순으로 구현한다. N개의 숫자만 가지고 있으면 되기 때문에 큐의 크기가 N보다 커지면 가장 작은 값을 pop 하면 된다. 올림차순이라서 단순하게 pop만 하면 되고 모든 반복이 끝나면 top을 출력하면 된다. 느낀 점 처음에는 모든 값을 우선순위 큐에 넣었지만 메모리 초과가 발생하였다. N개의 숫자만 가지고 있으면 되는 점을 이해하면 쉽.. 2021. 10. 26.