백준 11003 https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 풀이 전 나의 생각 N개의 수와 L이 주어질 때, D의 조건을 만족하며 저장된 수를 출력해야 한다. 조건 - 1 ≤ L ≤ N ≤ 5,000,000 - 109 ≤ Ai ≤ 109 과정 N의 범위를 보면 절대로 단순 2중 for문으로는 풀 수 없다는 것을 알 수 있다. 따라서 이를 해결하기 위해 우선순위 큐와 덱과 같은 자료구조를 사용해야 하는데 이 ..
알고리즘 및 자료구조/덱
백준 5430 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 전 나의 생각 정수 배열 연산 AC는 R(뒤집기)과 D(버리기)가 있다. 이때, 주어진 배열에 AC 연산을 연산을 적용하여 나오는 결과값을 구해야 한다. 조건 - 첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 최대 100이다. - 각 테스트 케이스의 첫째 줄에는 수행할 함수 p가 주어진다. p의 길이는 1보다 크거나 같고, 100,000보다 작거나 같다. - 다음 줄에는 배열에 들어있는 수의 개수 n이 주어진다. (0 ≤ n ..
백준 1021 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 풀이 전 나의 생각 양방향 순환 큐와 탐색 조건이 주어질 때 원하는 위치의 원소값을 얻기 위한 최소 계산 횟수를 구해야 한다. 조건 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다. 오른..