티스토리 뷰

https://www.acmicpc.net/problem/2605

 

2605번: 줄 세우기

점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을 �

www.acmicpc.net

#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int main()
{
	int s;
	int tmp;
	cin >> s;

	vector<int> N(s);

	for(int i = 0; i < s; i++) N[i] = i + 1;

	for (int i = 0; i < s; i++) {
		int ticket;
		cin >> ticket;
		int tmp2 = N[i];
		for (int j = i; j > i - ticket; j--) {
			N[j] = N[j - 1];
		}
		N[i - ticket] = tmp2;
	}
	cout << endl;

	
	for (int i = 0; i < s; i++){
		cout << N[i] << " ";
	}
}

자리를 바꿔주는 코드는 아래 코드를 사용해도 된다

for (int i = 0; i < s; i++) {//5
		int ticket;
		cin >> ticket;
		for (int j = 0; j < ticket; j++) {//6
			int tmp = N[i];
			N[i] = N[j + i - ticket ];
			N[j + i - ticket ] = tmp;
        }
}

 

'algorithm > 백준' 카테고리의 다른 글

[python] 백준 10987  (0) 2020.11.08
[python] 백준7567 그릇  (0) 2020.10.31
[python] 백준10156 과자  (0) 2020.10.31
[python] 백준10797 10부제  (0) 2020.10.17
[python] 백준2576번 홀수  (0) 2020.10.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함