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