https://www.acmicpc.net/problem/2751
문제
> N개의 수가 주어졌을때, 오름차순으로 정렬하는 프로그램을 작성해라.
접근
수를 전부 입력받고 sort 정렬해 출력한다.
문제해결
> 단순 오름차순 정렬이므로 sort()를 사용하였다.
> 벡터로 N의 값을 입력받고 정렬 후 출력한다.
코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int N;
cin >> N;
vector<int> num(N);
for (int& i : num) cin >> i;
sort(num.begin(), num.end());
for (int i : num) cout << i << '\n';
}

후기
문제 자체는 쉬웠기에 c++스타일 반복문을 써서 했다.
입력을 받는 반복문에 int뒤에 &가 없으면 num의 각 요소가 x에 복사되어 x값만 변하기 때문에 마지막에 출력문 같은경우엔 그렇게 사용해도 되지만 입력을 받을 땐 값을 변화시켜야 하기 때문에 "참조"를 해줘야한다. 그래서 &가 필요하다.
그리고 벡터의 초기값을 주지않고 push_back으로 바로 요소를 넣고자 한다면 c++스타일이 아닌 for(i = ...)을 써야한다.
참조로 받아오는 i가 num이 비어있으므로 아무것도 가져올 수 없기 때문에 반복문이 돌아가지않기 때문이다.
자잘한거 토시하나 하나 중요한 의미가있기에 이를 알아가는것이 흥미롭다.