# 1021

8개의 포스트

[BOJ / C++] 회전하는 큐(1021)

문제 회전하는 큐 : 문제 링크 문제 분석 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있고, 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. > 1. 첫 번째 원소를 뽑아낸다. (a1,...,ak -> a2,...,ak) > 2. 왼쪽으로 한 칸 이동시킨다. (a1,...,ak -> a2,...,ak,a1) > 3. 오른쪽으로 한 칸 이동시킨다. (a1,...,ak -> ak,a1,...,ak-1) 큐에 처음에 포함되어 있던 수 N과 뽑아내려고 하는 원소의 위치(가장 처음 큐에서의 위치)가 주어진다. 이때, 그 원소를 주어진 순서대로 뽑아내는데 드는 2,3번 연산의 최솟값을 출력 int 변수 N, M에 각각 값을 입력받고, M크기의 int형 vector idx 및 int형 deque dq를 초기화 했다. for loop를 통해 dq에 1부터 N까지

2023년 7월 26일
·
0개의 댓글
·
post-thumbnail

[백준] 1021

https://www.acmicpc.net/problem/1021 📔문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다. 오른쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 ak, a1, ..., a

2023년 5월 17일
·
0개의 댓글
·
post-thumbnail

자료구조 큐와 연습문제 백준 1021

큐(Queue) Queue의 사전적 정의는 줄이다. 줄 하고 생각하면 줄을 서서 입장을 한다던가, 줄을 서서 구매를 하는 모습을 떠올릴 수 있다. 자료구조인 Queue 역시 이와 같다. 실생활에서의 줄과 자료구조 큐는 전부 먼저 줄을 선 사람이 먼저 목적을 달성하는 것이다. 이런 특징을 선입선출, 영어로는 First In First Out이라 하여 줄여서 FIFO라고 한다. 자료구조 큐(Queue) 자료구조로서의 큐는 앞서 말했듯 줄을 서는 행위와, 목적을 달성하는 행위가 있다. 이때 목적을 달성하는 행위는 줄을 선 데이터가 줄에서 빠져 나오는 것을 말한다. 여기서 줄을 서는 행위는 enqueue, 줄에서 나오는 행위는 dequeue라고 부른다. ![](https://ve

2023년 3월 14일
·
0개의 댓글
·

백준 1021 회전하는 큐

자료구조 deque을 활용하는 문제이다. 정답률 59퍼센트의 문제였지만 해결하지 못했다. 삭제하는 원소의 index를 알지 못했기 때문이다. 정답 코드를 보고 vector, array, deque 등 정해진 범위내에서 원소의 index를 구하는 방법을 알았다. 다음에는 꼭 활용하자.

2023년 1월 21일
·
0개의 댓글
·
post-thumbnail

백준 - 회전하는 큐(1021)

문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다. 오른쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 ak, a1, ..., ak-1이 된다. 큐에 처음에 포함되어 있던 수 N이 주어진다. 그리고 지민이가 뽑아내려고 하는 원소의 위치가 주어진다. (이 위치는 가장 처음 큐에서의 위치이다.) 이때, 그 원소를 주어진 순서대로 뽑아내는데 드는 2번, 3번 연산의 최솟값을 출력하는 프로그램을 작성하시오. 입력 출력 예제 입력 1 예제 출력 1 예

2022년 8월 8일
·
0개의 댓글
·

[boj][c++] 10026 적록색약, 1021 회전하는 큐

10026 적록색약 bfs로 풀었다. 실버 문제로 연습하고 접근하니까 골드 문제도 스스로 풀 수 있게 됐다. 뿌듯. 그래도 좌표 쓰는 문제는 여전히 어렵다ㅜ 로직은 적록색약인 방문기록과 비적록색약인 방문기록을 나눠서 관리하는 것이다. bfsrgb()와 bfsrb()를 함수로 나눴다. 1021 회전하는 큐

2022년 8월 4일
·
0개의 댓글
·
post-thumbnail

[백준] 회전하는 큐

설명 자료구조 Deque를 사용해서 푸는 문제 JS의 경우 덱이 없어서 완벽한 덱은 아니지만 문제에서 주어진 N은 50보다 작거나 같은 자연수라는 조건 때문에 Array를 extends하여 심플하게 구현했다. 그리고 필요한 rotate 함수를 파이썬의 덱처럼 멤버변수로 추가하여 문제를 풀었다. C++의 경우 rotate 함수가 없는 것과 index를 찾기 위해 일일히 덱을 순회한 점이 불편했다... Node.js 풀이 C++ 풀이

2022년 1월 23일
·
0개의 댓글
·

백준 1021 회전하는 큐 문제풀이 (JAVA)

문제 링크 문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다. 오른쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 ak, a1, ..., ak-1이 된다. 큐에 처음에 포함되어 있던 수 N이 주어진다. 그리고 지민이가 뽑아내려고 하는 원소의 위치가 주어진다. (이 위치는 가장 처음 큐에서의 위치이다.) 이때, 그 원소를 주어진 순서대로 뽑아내는데 드는 2번, 3번 연산의 최솟값을 출력하는 프로그

2021년 7월 1일
·
0개의 댓글
·