[백준 11931] 수 정렬하기 4 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
주어진 수들을 내림차순으로 정렬한 결과를 출력하는 단순 정렬 문제입니다.
입력으로 주어지는 수의 개수는 최대 1,000,000
개이며, 각각은 절댓값 1,000,000
이하의 정수입니다.
모든 수는 중복되지 않으며, 정렬 후 한 줄에 하나씩 출력해야 합니다.
접근법
입력받은 수들을 배열에 저장한 후, 내림차순으로 정렬하여 출력합니다.
- 정렬은 기본
sort
함수를 이용하되, 내림차순을 위해 역순 정렬 옵션을 사용합니다. - 출력 시에는 수가 많은 만큼 빠른 출력 방식을 사용해야 안정적으로 시간 제한을 통과할 수 있습니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Linq;
using System.Text;
class Program {
static void Main() {
int n = int.Parse(Console.ReadLine());
var nums = new int[n];
for (int i = 0; i < n; i++)
nums[i] = int.Parse(Console.ReadLine());
Array.Sort(nums);
Array.Reverse(nums);
var sb = new StringBuilder();
foreach (var num in nums)
sb.AppendLine(num.ToString());
Console.Write(sb.ToString());
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
typedef vector<int> vi;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int cntNum; cin >> cntNum;
vi num(cntNum);
for (int i = 0; i < cntNum; i++)
cin >> num[i];
sort(num.rbegin(), num.rend());
for (auto i : num)
cout << i << "\n";
return 0;
}