๋ฌธ์
์ฝ๋
#include <iostream>
#include <deque>
#include <vector>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
deque<pair<int,int>>dq; //{์ ์, ์ธ๋ฑ์ค};
vector<int>ans;
int N; cin>>N;
for(int i=0; i<N; i++){
int num; cin>>num;
dq.push_back({num,i});
}
while(!dq.empty()){
int num = dq.front().first;
int index = dq.front().second;
ans.push_back(index+1);
dq.pop_front();
for (int i = 1; i < num; i++) {
dq.push_back(dq.front());
dq.pop_front();
}
for (int i = 0; i > num; i--) {
dq.push_front(dq.back());
dq.pop_back();
}
}
for(int i: ans) cout<<i<<' ';
}
ํ์ด(ํ์ด ์๊ฐ: 50๋ถ)
์ํ ํ ๋ฌธ์ ์์ต๋๋ค. ์ด๋ฒ์ ํ์คํ๊ฒ ์ํ ํ๊ฐ ์ด๋ ํ ์๋ฆฌ๋ก ๋์๊ฐ๊ฒ ๋๋์ง ์ดํดํ ์ ์๊ฒ ๋์์ค ๋ฌธ์ ์์ต๋๋ค.
์ํ ํ ๊ฐ๋ ์ ๊ดํด์๋ ์ ์์์ ์ฐธ๊ณ ํ์ต๋๋ค.
๋ฌธ์ ํ์ด๊ฐ ์ค๋ ๊ฑธ๋ฆฐ ์ด์ ๋ ํ์ ์ด๋์ ์๋์ ๊ฐ์ ์ด๋์ ํด์ผ ํ๋๋ฐ ์ผ์ชฝ์ผ๋ก ์ด๋ํ ๋์๋ [์ซ์ - 1] ๋งํผ ์ด๋ํ์ฌ ๊ณ์ ๋๋ฒ๊น ํ๋๋ผ ์ค๋ ๊ฑธ๋ ธ์ต๋๋ค.
- ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋์: [์ซ์ -1] ๋งํผ ์ด๋
- ์ผ์ชฝ์ผ๋ก ์ด๋์: [์ซ์]๋งํผ ์ด๋
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 1913๋ฒ - ๋ฌํฝ์ด (0) | 2022.03.15 |
---|---|
[๋ฐฑ์ค,c++] 1094๋ฒ - ๋ง๋๊ธฐ (0) | 2022.03.14 |
[๋ฐฑ์ค,c++] 1021๋ฒ - ํ์ ํ๋ ํ (0) | 2022.03.11 |
[๋ฐฑ์ค,c++] 13305๋ฒ - ์ฃผ์ ์ (0) | 2022.03.11 |
[๋ฐฑ์ค,c++] 10799๋ฒ - ์ ๋ง๋๊ธฐ (0) | 2022.03.10 |
[๋ฐฑ์ค,c++] 1935๋ฒ - ํ์ ํ๊ธฐ์2 (0) | 2022.03.10 |
๋๊ธ