728x90
반응형
https://www.acmicpc.net/problem/15688
이 문제는 C++을 사용한다면 Algorithm 헤더 파일에 존재하는 sort함수를 쓰면 되는 문제이지만, 주의할점이
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
main함수 맨 앞에 이 3줄의 코드를 적어주어야한다.
첫 번째 줄의 코드는 C언어와 C++의 동기화를 끊어줌으로써 사용하는 버퍼의 수를 줄여 실행속도를 향상시켜주는 것이다. 단, 위 3줄의 코드를 사용할 경우 C의 printf / scanf 사용은 하면 안된다
두번째, 세번째 코드는
cin과 cout는 stream 버퍼를 공유한다. 이를 tie한다고 표현하며 tie가 되어있는 경우 입출력 요청을 받게 되면 실행 전에
stream의 버퍼를 확인하고 flush를 하게 된다. 하지만, 이 2줄의 코드를 작성하게 되면 tie과정이 생략되고, 바로 입출력이 되어 실행속도가 빨라진다.
마지막으로, 줄바꿈을 할 때 C++에서는 endl을 사용할 수 있지만 '\n'을 통해 줄바꿈을 하는 것이 속도면에서 훨씬 빠르다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#define INF 987654321
using namespace std;
// BOJ :: https://www.acmicpc.net/problem/10836
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
vector<int> v;
int n; cin >> n;
for (int i = 0; i < n; i++) {
int data; cin >> data;
v.push_back(data);
}
sort(v.begin(), v.end());
for (int i = 0; i < v.size(); i++) {
cout << v[i] << '\n';
}
return 0;
}
728x90
반응형
'BOJ > 정렬' 카테고리의 다른 글
[C/C++] 백준 - 7795번 : 먹을 것인가 먹힐 것인가 (0) | 2021.07.31 |
---|---|
[C/C++] 백준 - 5648번 : 역원소 정렬 (0) | 2021.07.31 |
[C/C++] 백준 - 10825번 : 국영수 (0) | 2021.07.18 |
[C/C++] 백준 - 1431번 (시리얼 번호) (0) | 2021.06.27 |
[C언어 / 백준 - 11650] 좌표 정렬하기 (정렬) (0) | 2021.05.23 |