본문 바로가기
Thinking/BAEKJOON

C++ BAEKJOON 2751번 : 수 정렬하기2

by Dev_카페인 2023. 9. 14.
반응형

[C++] BAEKJOON 2751번 : 수 정렬하기2

 

백준온라인 2751번 수 정렬 문제

 

문제

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

 

입력

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

출력

- 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

 

예제 입력 및 출력

- input ex) 5 5 4 3 2 1
- output ex) 1 2 3 4 5

 

문제 풀이

 

입력 받는 수가 최대 1,000,000개로 크기가 크다. 저장 되는 영역(스택, 힙, 데이터)을 신경쓰도록한다.

첫째 줄에 입력 받을 수의 개수가 주어진다 N(1 <= N <= 1,000,000)

수는 중복되지 않으므로 중복검사는 할 필요가 없다.

퀵 정렬을 따로 구현할 필요 없이 C++ 내장 함수 sort를 사용한다.

 

#include <iostream>
#include <algorithm>

using namespace std;

#define MAX_COUNT 1000000
int arr[MAX_COUNT];	// 데이터 영역에 선언, 최대 크기로 미리 공간을 잡아 놓는다.

int main()
{
	int cnt;
	cin >> cnt;	// N ( 1 <= N <= 1,000,000) 개수를 입력받는다.

	// 입력 받을 만큼만 반복한다.
	for (int i = 0; i < cnt; i++)
	{
		cin >> arr[i];	// 데이터 입력
	}

	sort(arr, arr + cnt);	// #include <algorithm>의 내장 함수 sort를 사용한다. (qsort참고)

	// 출력한다.
	for (int i = 0; i < cnt; i++)
	{
		cout << arr[i] << "\n";
	}
}

 

반응형

'Thinking > BAEKJOON' 카테고리의 다른 글

C++ BAEKJOON 28278번 : 스택2  (0) 2023.09.18
C++ BAEKJOON 15552번 빠른 A+B  (0) 2022.08.17
C++ BAEKJOON 25304번 영수증  (0) 2022.08.17
C++ BAEKJOON 8393번 합  (0) 2022.08.17
C++ BAEKJOON 10950번 A+B  (0) 2022.08.17