CS/Algorithm 문제

[BaekJoon] 백준 1158번 요세푸스 문제

백준 1158번 요세푸스 문제

 

문제: https://www.acmicpc.net/problem/1158

 

 

내 코드

 

#include <iostream>
#include <vector>

using namespace std;

int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	vector<int> arr;
	int n, k;
	cin >> n >> k;
	
	for (int i = 0; i < n; i++) {
		arr.push_back(i + 1);
	}
	
	int idx = k - 1;
	cout << "<";
	while (arr.size() > 1) {
		cout << arr[idx] << ", ";
		arr.erase(arr.begin() + idx);
		idx += k - 1;
		idx %= arr.size();//원형, 한바퀴 다 돌았을 경우
	}
	cout << arr[0] << ">" << endl;

	return 0;
}
728x90
반응형

'CS > Algorithm 문제' 카테고리의 다른 글

[BaekJoon] 백준 5397번 키로거  (0) 2019.10.21
[BaekJoon] 백준 1475번 방번호  (0) 2019.10.21
[BaekJoon] 백준 11328번 Strfry  (0) 2019.10.21
[Algorithm] STL vector  (0) 2019.10.14
[Algorithm] 가장 큰 수 찾기  (0) 2019.09.21