분류 전체보기
[Baekjoon Online Judge] 백준 1715번 카드 정렬하기(C++, Python)
[Baekjoon Online Judge] 백준 1715번 카드 정렬하기 (C++, Python) (글쓴날 : 2020.04.27) * Baekjoon Online Judge, 백준 1715번 문제 C++, Python 언어 풀이입니다. * 소스 코드의 저작권은 글쓴이에게 있습니다. 백준 1715번 카드 정렬하기 1) 문제 문제 링크 : https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장의 숫자 카드 묶음을 합치려면 50번의 비교가 필요하다. 매우 많은 숫자 카..
[Baekjoon Online Judge] 백준 11286번 절댓값 힙(C++, Python)
[Baekjoon Online Judge] 백준 11286번 절댓값 힙 (C++, Python) (글쓴날 : 2020.04.26) * Baekjoon Online Judge, 백준 11286번 문제 C++, Python 언어 풀이입니다. * 소스 코드의 저작권은 글쓴이에게 있습니다. 백준 11286번 절댓값 힙 1) 문제 문제 링크 : https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제..
[Python] heapq 사용법
[Python] heapq 사용법 (글쓴날 : 2020.04.26) * 이 글은 글쓴이가 공부한 내용을 정리하며 올리는 글입니다. * Python3를 기준으로 작성되었습니다. Python heapq 사용법 1) heapq란? heapq란 자료구조 queue의 일종으로, queue의 내부 구조가 heap으로 이루어져 있다고 보시면 됩니다. heapq는 일반 queue와 마찬가지로 추가(push), 삭제(pop) 등의 기능을 하지만, heap 구조를 유지하기 위해 추가(push) 및 삭제(pop) 시 O(log n)의 시간 복잡도가 걸리게 됩니다. 보통 우선순위 큐를 구현하기 위해 사용되며, heapq 모듈의 함수들은 Min Heap 기준으로 설계되어 있으므로 주의해야 합니다. 2) heapq 사용법 (1)..
[C++] priority_queue 사용법
[C++] priority_queue 사용법 (글쓴날 : 2020.04.26) * 이 글은 글쓴이가 공부한 내용을 정리하며 올리는 글입니다. C++ priority_queue 사용법 1) priority_queue란? priority_queue란 자료구조 queue의 일종으로 헤더에 존재합니다. priority_queue는 queue와 똑같이 추가(push), 삭제(pop) 등의 기능을 하며, 일반 queue와 달리 우선순위를 기준으로 수행하는 것이 특징입니다. 보통, 우선순위를 선정하기 위해 내부적으로 heap 자료구조를 사용하며, 그에 따라 추가(push) 및 삭제(pop) 시 O(log n)의 시간 복잡도가 걸리게 됩니다. 또한, 우선순위 설정을 위해 보통 헤더의 greater, less STL을 ..
[Baekjoon Online Judge] 백준 1927번 최소 힙(C++, Python)
[Baekjoon Online Judge] 백준 1927번 최소 힙 (C++, Python) (글쓴날 : 2020.04.25) * Baekjoon Online Judge, 백준 1927번 문제 C++, Python 언어 풀이입니다. * 소스 코드의 저작권은 글쓴이에게 있습니다. 백준 1927번 최소 힙 1) 문제 문제 링크 : https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 ..
[Baekjoon Online Judge] 백준 11279번 최대 힙(C++, Python)
[Baekjoon Online Judge] 백준 11279번 최대 힙 (C++, Python) (글쓴날 : 2020.04.25) * Baekjoon Online Judge, 백준 11279번 문제 C++, Python 언어 풀이입니다. * 소스 코드의 저작권은 글쓴이에게 있습니다. 백준 11279번 최대 힙 1) 문제 문제 링크 : https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 가장 큰 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입..