[백준 BOJ] 15688번 수 정렬하기 5 (C++/cpp)
2022. 8. 17. 10:48ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/15688
15688번: 수 정렬하기 5
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이며, 같은 수가 여러 번 중복될 수도 있다.
www.acmicpc.net


접근 방법 - 정렬 함수를 이용한 기본 문제
백준의 15688번 문제는 정렬 함수를 이용하여 간단히 해결할 수 있는 문제이다.
해당 문제는, 입력받은 숫자들을 오름차순으로 정렬하여 출력해야 하는 문제이다.
이 문제의 경우엔, 다른 정렬 문제에 비해 입력값들이 많기 때문에 상당히 어렵게 다가올 수도 있는 문제이다.
하지만 간단한 정렬 함수의 사용만 안다면 이 문제마저도 우리는 아주 쉽게 해결할 수 있다.
cpp의 정렬 함수에 관한 내용을 아래에 기재하니, 혹시나 몰랐다면 아래를 꼭 참고해보길 바란다.
(sort() 함수는 해당 문제 말고도 사소한 정렬이 필요할 때 많이 쓰이니 알아두면 좋을 것이다.)
#include <algorithm>
sort(array, array+length);
이에 대한 자세한 사용법은 아래의 코드를 참고해보길 바란다.
필자는 아래처럼 코드를 작성하여 문제를 해결하였다.
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#include <algorithm>
#define endl '\n'
using namespace std;
//백준 15688번 코드
int arr[1000001];
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;
}
}
제출 결과

(2022.08.01 백준 15688번 문제 제출 결과)
반응형
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 25083번 새싹 (C++/cpp) (0) | 2022.08.17 |
---|---|
[백준 BOJ] 9093번 단어 뒤집기 (C++/cpp) (0) | 2022.08.17 |
[백준 BOJ] 11653번 소인수분해 (C++/cpp) (0) | 2022.08.16 |
[백준 BOJ] 4108번 지뢰찾기 (C++/cpp) (0) | 2022.08.16 |
[백준 BOJ] 7120번 String (C++/cpp) (0) | 2022.08.16 |