본문 바로가기

Queue4

[C++] 백준 11279번 : 최대 힙 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 문제 풀이 힙을 구현하는 문제이다. 우선순위 큐를 사용하면 간단하게 해결할 수 있다. 느낀 점 기본적인 자료구조이다. 코드 #include #include using namespace std; int n; priority_queue pq; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; while (n--) {.. 2021. 11. 12.
[C++] 백준 11866번 : 요세푸스 문제 0 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 풀이 요세푸스 문제에서는 k번째에 사람을 제거한다. 구현한 큐에서 k-1번 동안 front를 맨 뒤로 옮기고, k번째에 front 값을 출력한다. 큐가 비어있지 않다면 ', '를 출력해서 요구하는 출력 형식에 맞춘다! 느낀 점 그렇게 어려운 문제는 아니었지만 코드를 깔끔하게 구현하기 힘들었다. 깔끔하게 구현하기 위해서 시간을 조금 소모한 것 같다. 코드 #include #include using namespace std; int n, k; queue q; void func(i.. 2021. 7. 24.
[C++] 백준 2164번 : 카드2 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 풀이 문제에 풀이법이 나와있다! 맨위 카드는 버리고 그 다음 카드는 맨 밑으로 넣는다. 느낀 점 어렵지 않은 문제였다. 코드 #include #include using namespace std; int n; queue q; void func(int n) { for (int i = 1; i 1) { q.pop(); q.push(q.front()); q.pop(); } cout > n; func.. 2021. 7. 24.
[C++] 백준 18258번 : 큐 2 https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 풀이 기본 큐 문제이다. STL에서 지원하는 컨테이너를 사용하면 쉽다! 느낀 점 이번 기회로 DS를 다시 복습하는 기분이라 만족스럽다. 코드 #include #include #include using namespace std; int n, tmp; string command; queue q; int main() { ios_base::sync_with_stdio(0);.. 2021. 7. 23.