[백준 BOJ] 2751번 수 정렬하기 2 (C++/cpp)

2022. 3. 19. 23:02PS (Program Solving)/BOJ (백준)

문제 설명

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

 

2751번: 수 정렬하기 2

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

www.acmicpc.net

백준 BOJ 2751번 수 정렬하기 2 문제 사진

 

접근 방법 - 정렬 함수를 이용한 문제

백준의 2751번 문제는 정렬 함수를 이용하여 쉽게 해결할 수 있는 문제이다.

해당 문제는, 주어진 숫자들을 오름차순으로 정렬하여 출력해야 하는 문제이다.

현 시각에 있어, 필자는 정렬 알고리즘 구현에 대해 아는 것이 없어 해당 문제를 푸는 데에 많이 헤매었다.

그래서 구글링을 해보았을 때 대체로 sort()라는 정렬 함수를 이용하여 문제를 해결한 것을 알았고 필자 또한 이 방법을 채택하였다.

sort 함수는 <algorithm> 헤더에 있는 함수 중 하나이다. 사용법은 아래 코드를 참고해보길 바란다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

 

코드의 실행 순서

1) 입력값을 저장받을 배열(arr)을 전역변수로 선언한다.

 

2) 입력받을 숫자의 개수(n)를 입력받고, n의 크기에 따라 숫자들을 입력받는다.

 

3) sort() 함수를 이용해 오름차순 정렬을 수행한다. (사용 형식은 아래 코드 참고)

 

4) 정렬된 배열값들을 차례로 모두 출력한 뒤, 실행 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#include <algorithm>
#define endl '\n'
using namespace std;

//백준 2751번 코드
int arr[1000000];
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> arr[i];
	}
	sort(arr, arr + n);
	for (int i = 0; i < n; i++) {
		cout << arr[i] << endl;
	}
}

 

제출 결과

백준 BOJ 2751번 수 정렬하기 2 문제 C++ 제출 결과

(2022.03.19 백준 2751번 문제 제출 결과)

(정렬 싫어...)

반응형