백준/단계별

[C++] 백준 2751

loasd 2022. 12. 30. 00:39
반응형

백준의 2751번 문제 수 정렬하기 2 이다.

https://www.acmicpc.net/problem/2751

 

2751번: 수 정렬하기 2

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net


 < 문제 >

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

 

 < 예제 >

 

간단한 정렬문제여서 sort()사용하면 되지만 그렇다고 막 작성하면 시간초과가 뜨기 때문에 시간을 줄이는 방법을 택해야 한다.

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	int t;
	cin >> t;
	int* num = new int[t];

	for (int i = 0; i < t; i++) {
		cin >> num[i];
	}

	sort(num, num + t);

	for (int i = 0; i < t; i++) {
		cout << num[i] << '\n';
	}
	delete num;
}

전체 코드는 이렇다.

여기서 주의해서 봐야할 곳은 이곳이다.

C++는 C를 개선하여 만든 것이기 떄문에 코드를 컴파일할 때 C와 연관될 수 밖에 없다.

그렇기 때문에 그 연결을 끊어주는 방법이다.

	ios::sync_with_stdio(false);
	cin.tie(NULL);

또한 되도록 <<endl 보다는 << '\n'을 사용하는게 더 빠르다.

 

반응형

'백준 > 단계별' 카테고리의 다른 글

[C++] 백준 10989  (0) 2022.12.30
[C++] 백준 25305  (0) 2022.12.30
[C++] 백준 2587  (0) 2022.12.30
[C++] 백준 2750  (0) 2022.12.30
[C++] 백준 2563  (0) 2022.12.29