https://www.acmicpc.net/problem/1021
1021번: 회전하는 큐
첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
int main(void){
ios::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin >> n >> m; //1)n,m 입력받기
deque<int> DQ;
for(int i=1; i <= n; i++) DQ.push_back(i); //2)n크기의 덱 만들기
int cnt=0;
while(m--){ //3)m만큼 반복
int val;
cin >> val;
int idx = find(DQ.begin(), DQ.end(), val) - DQ.begin();
while(DQ.front() != val){ //4)찾을 값이 front자리로 올때까지 반복
if(idx < DQ.size()-idx){ //5)찾을 값의 자리가 front로 오도록 만들기
DQ.push_back(DQ.front());
DQ.pop_front();
}
else{
DQ.push_front(DQ.back());
DQ.pop_back();
}
cnt++; //6)과정횟수 카운트하기
}
DQ.pop_front(); //7)찾은 값 제거하기
}
cout << cnt; //8)카운트한 횟 수 출력하기
}
'공부 일지 > 알고리즘' 카테고리의 다른 글
[바킹독 알고리즘]0x09강 - BFS (0) | 2023.12.30 |
---|---|
[바킹독 알고리즘]0x08강 - 스택의 활용 (0) | 2023.12.28 |
[바킹독 알고리즘]0x07강 - 덱 (0) | 2023.12.27 |
[바킹독 알고리즘]0x06강 - 큐 (0) | 2023.12.26 |
[바킹독 알고리즘]0x05강 - 스택 (0) | 2023.12.22 |
https://www.acmicpc.net/problem/1021
1021번: 회전하는 큐
첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
int main(void){
ios::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin >> n >> m; //1)n,m 입력받기
deque<int> DQ;
for(int i=1; i <= n; i++) DQ.push_back(i); //2)n크기의 덱 만들기
int cnt=0;
while(m--){ //3)m만큼 반복
int val;
cin >> val;
int idx = find(DQ.begin(), DQ.end(), val) - DQ.begin();
while(DQ.front() != val){ //4)찾을 값이 front자리로 올때까지 반복
if(idx < DQ.size()-idx){ //5)찾을 값의 자리가 front로 오도록 만들기
DQ.push_back(DQ.front());
DQ.pop_front();
}
else{
DQ.push_front(DQ.back());
DQ.pop_back();
}
cnt++; //6)과정횟수 카운트하기
}
DQ.pop_front(); //7)찾은 값 제거하기
}
cout << cnt; //8)카운트한 횟 수 출력하기
}
'공부 일지 > 알고리즘' 카테고리의 다른 글
[바킹독 알고리즘]0x09강 - BFS (0) | 2023.12.30 |
---|---|
[바킹독 알고리즘]0x08강 - 스택의 활용 (0) | 2023.12.28 |
[바킹독 알고리즘]0x07강 - 덱 (0) | 2023.12.27 |
[바킹독 알고리즘]0x06강 - 큐 (0) | 2023.12.26 |
[바킹독 알고리즘]0x05강 - 스택 (0) | 2023.12.22 |