#73. 백준 2750번 문제 풀이: 수 정렬하기 문제 원본 보기
N개의 수가 주어졌을 때, 오름차순으로 정렬하는 프로그램을 작성하시오.
입력/출력
--입력--
5
5
2
3
4
1
--출력--
1
2
3
4
5
문제풀이+해설
수를 정렬해서 출력하는 문제이다.

1. 주어진 수를 받아서 배열에 넣고,
2. 배열에 있는 수를 오름차순으로 정렬 한 후,
3. 출력해 준다.

문제의 조건에서 정렬 알고리즘을 구현하라는 조건이 없고, 다른 문제에서 알고리즘 구현이 많기 때문에, 여기서는 각 언어에서 제공하는 내장 소팅함수를 사용해서 처리해 보도록 하겠다.

창고로 대표적인 언어의 소팅함수를 간단히 소개하면,
파이썬: sort , sorted 함수
C언어: qsort 함수
C++: sort 함수

C++의 algorithm 에 포함된 sort 함수는 아래와 같은 형태를 가지고 있다. void sort(T first, T last) void sort(T first, T last, Compare comp) 배열의 시작점과 끝점, 그리고 선택적으로 비교함수가 필요하다. C언어의 qsort 함수보다도 속도가 더 빠르다.
code sol.
#include <iostream>
#include <algorithm>
using namespace std;

int main() {
  int i, N;
  int NS[1000]; // 숫자들을 저장할 리스트

  cin >> N; // 숫자를 입력받아 정수형으로 변환 후 N(수의 개수)에 대입
  for(i = 0; i < N; i++) { // N번 반복
    cin >> NS[i]; // 숫자를 하나씩 입력받아 리스트에 추가
  }
  // 문제에서 정렬 알고리즘을 구현하라는 조건이 없기 때문에 내장함수 sort 사용
  sort(NS, NS + N); // 리스트 전용함수 sort 사용
  for(i = 0; i < N; i++) cout << NS[i] << '\n'; 
  // 정렬된 리스트를 개수 만큼 하나씩 출력
  return 0;
}
© 코드솔 - CodeSol. All Rights Reserved.