#include <iostream>
#include <sstream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
int main() {
int N;
cin >> N;
vector<int> numbers(istream_iterator<int>(cin), {});
sort(numbers.begin(), numbers.end());
cout << numbers[0] << " " << numbers[N - 1];
}
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
const int MAX_ROW = 5;
const int MAX_COL = 4;
int winner = 0;
int score = 0;
vector<vector<int>> participant(MAX_ROW, vector<int>(MAX_COL, 0));
for (int i = 0; i < MAX_ROW; i++) {
for (int j = 0; j < MAX_COL; j++) {
cin >> participant[i][j];
}
}
for (int i = 0; i < MAX_ROW; i++) {
int tmp = 0;
for (int j = 0; j < MAX_COL; j++) {
tmp += participant[i][j];
}
if (tmp >= score) {
winner = i;
score = tmp;
}
}
cout << winner + 1 << " " << score;
}
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int N, K;
cin >> N >> K;
vector<int> human;
for (int i = 1; i <= N; i++) {
human.push_back(i);
}
cout << "<";
for (int i = K - 1; N > 1; i+= K) {
i %= human.size();
cout << human[i] << ", ";
N--;
}
cout << ">";
}
💭 풀이
1. i = K - 1번째부터 K만큼 건너뜀
2. 해당 i의 원소를 출력💥 문제점
- 그냥 K - 1번째부터 K만큼 건너뛰어서 출력하면 될 줄 알았는데 배열 전체를 그대로 순회하니까 이미 출력한 원소는 건너뛰어야 하는데 다 포함해버려서 이상하게 나옴
<,,,>이것까지 출력 해야하는데 빼먹었었음
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <list>
using namespace std;
int main() {
int N, K;
cin >> N >> K;
list<int> people;
for (int i = 1; i <= N; i++) {
people.push_back(i);
}
auto it = people.begin();
cout << "<";
while(!people.empty()) {
// K - 1번 이동 (K번째 원소를 삭제하기 위해)
for (int i = 1; i < K; i++) {
it++;
if (it == people.end()) { // 끝에 도달하면 처음으로 이동
it = people.begin();
}
}
cout << *it;
// 현재 위치의 원소 제거
it = people.erase(it); // erase()는 삭제 후 다음 원소를 가리킴
if (!people.emtpy()) {
cout << ", ";
}
if (it == people.end()) { // 삭제 후 end()이면 다시 처음으로
it = people.begin();
}
}
cout << ">";
return 0;
}
💭 풀이
list를 사용하여 1 ~ N까지 사람 저장
iterator를 활용하여 순회하면서 K번째 원소를 erase()로 제거
원형 구조를 유지하기 위해 ++it(iterator, next라고 보면 될 듯)를 활용하여 end()이면 begin()으로 순환