728x90
단순한 sorting 문제로, 직접 구현해도 되지만 나는 간단하게 STL의 sort 함수를 이용했다.
#include <iostream>
#include <algorithm>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
cin >> N;
int arr[N];
for(int i=0; i<N; i++) cin >> arr[i];
sort(arr, arr+N);
for(auto x : arr) cout << x << "\n";
return 0;
}
❗️ endl 주의
너무 단순한 코드인데 시간초과가 나길래 원인을 검색해봤더니 두가지 놓친 점이 있었다.
- ios::sync_with_stdio(false);
- cout << endl;
cout의 경우 endl이 나올 때마다 버퍼를 비우는 등의 부하가 발생하기 때문에 시간 초과가 나온다면 "\n"으로 줄바꿈해주자.
여담) 바보같이 출력에서 수는 중복되지 않는다고 봐서 이 간단한 문제를 중복없이 sorting해놓는 알고리즘을 짜놓아서 두번이나 틀렸다.ㅋㅋ
별 코드는 아니지만 중복없이 sorting하는 코드를 만들어 놓은 김에 첨부한다.
바보.. 코딩테스트에서는 문제 잘 읽자.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void) {
int N;
vector<int> arr;
cin >> N;
for(int i=0; i<N; i++) {
int a;
cin >> a;
arr.push_back(a);
}
sort(arr.begin(), arr.end());
arr.erase(std::unique(arr.begin(), arr.end()), arr.end());
for(auto x : arr) cout << x << endl;
return 0;
}
728x90
'Algorithm > 백준과 프로그래머스' 카테고리의 다른 글
[C++] 9012. 괄호 (0) | 2023.07.14 |
---|---|
[C++] 10828. 스택 (0) | 2023.07.11 |
[C++] 11728 : 배열 합치기 (0) | 2022.04.12 |
[C++] 2193 : 이친수 (0) | 2022.04.12 |
[C++] 5576번 콘테스트 (0) | 2022.03.22 |