[백준 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