Deff_Dev
[백준] 1158번 요세푸스 문제 (C++) 본문
문제
https://www.acmicpc.net/problem/1158
풀이
1~N까지 숫자를 vector에 저장한 뒤, K만큼 뒤에 있는 숫자를 출력/삭제하는 방식으로 문제를 풀이했다.
#include<iostream>
#include<vector>
// https://www.acmicpc.net/problem/1158
using namespace std;
int main() {
int N, K, sel = 0;
cin >> N >> K;
K--;
vector <int> vec;
for (int i = 1; i <= N; i++)
vec.push_back(i);
cout << "<";
while (true) {
sel = (sel + K) % vec.size();
cout << vec[sel];
vec.erase(vec.begin() + sel);
if (vec.empty())
break;
else
cout << ", ";
}
cout << ">";
return 0;
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 15686번 치킨 배달 (C++) (0) | 2024.08.29 |
---|---|
[백준] 15988번 1, 2, 3 더하기 3 (C++) (0) | 2024.08.28 |
[백준] 상범 빌딩 (C++) (0) | 2024.08.27 |
[백준] 경쟁적 전염 (C++) (0) | 2024.08.27 |
[백준] 2563번 색종이 (C++) (0) | 2024.08.26 |