[백준 1021번 C/C++] 회전하는 큐
[백준 1021번 C/C++] 회전하는 큐

https://www.acmicpc.net/problem/1021
1021번: 회전하는 큐
첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가
www.acmicpc.net
해결전략
deque
코드
#include <iostream> #include <deque> using namespace std; int n, m, input, cnt=0; deque<int> dq; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m; for (int i = 1; i <= n; i++) { dq.push_back(i); } for(int i=0; i<m; i++){ cin >> input; int idx; for(int j=0; j<dq.size(); j++) { if(dq[j]==input) { idx = j; break; } } int left = idx; int right = dq.size() - idx - 1; if(left <=right) { while (dq.front() != input) { dq.push_back(dq.front()); dq.pop_front(); cnt++; } } else { while(dq.front() != input) { dq.push_front(dq.back()); dq.pop_back(); cnt++; } } dq.pop_front(); } cout << cnt << "\n"; return 0; }
'⭐ 코딩테스트 > 백준' 카테고리의 다른 글
[백준 10814번 C/C++] 나이순 정렬 (0) | 2023.06.24 |
---|---|
[백준 10816번 C/C++] 숫자 카드 2 (0) | 2023.06.23 |
[백준 2331번 C/C++] 반복수열 (0) | 2023.06.22 |
[백준 1931번 C/C++] 회의실 배정 (0) | 2023.06.21 |
[백준 10844번 C/C++] 쉬운 계단 수 (0) | 2023.06.20 |
댓글
이 글 공유하기
다른 글
-
[백준 10814번 C/C++] 나이순 정렬
[백준 10814번 C/C++] 나이순 정렬
2023.06.24 -
[백준 10816번 C/C++] 숫자 카드 2
[백준 10816번 C/C++] 숫자 카드 2
2023.06.23 -
[백준 2331번 C/C++] 반복수열
[백준 2331번 C/C++] 반복수열
2023.06.22 -
[백준 1931번 C/C++] 회의실 배정
[백준 1931번 C/C++] 회의실 배정
2023.06.21
댓글을 사용할 수 없습니다.