작성일 :

문제 링크

11931번 - 수 정렬하기 4

설명

주어진 수들을 내림차순으로 정렬한 결과를 출력하는 단순 정렬 문제입니다.

입력으로 주어지는 수의 개수는 최대 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;
}