본문 바로가기
Algorithm/BackJoon

2750번: 수 정렬하기

by 꼬부기가우는소리 2023. 6. 4.
728x90

관련 사이트: https://www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

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

www.acmicpc.net

"시간 복잡도가 O(n²)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 삽입 정렬, 거품 정렬 등이 있습니다."

 

단순하게 입력된 숫자들을 순차적으로 정렬하는 문제이다.

따라서, 입력받은 숫자를 vector에 저장한 뒤, sort 함수로 정렬시켜주도록 하였다.

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
    int N, n;
    vector<int> nums;
    
    cin >> N;
    while (N > 0)
    {
        cin >> n;
        nums.push_back(n);
        N--;
    }

    sort(nums.begin(), nums.end());

    for (int num : nums)
        cout << num << "\n";
    return 0;
}

- 메모리: 2020 KB

- 시간: 0 ms

- 코드 길이: 344 B

 

 

vector 가 아닌 배열을 통해서도 아래와 같이 구현이 가능하다.

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
    int N, n;
    int nums[1000];
    
    cin >> N;
    for (int i = 0; i < N; i++)
        cin >> nums[i];

    sort(nums, nums + N);

    for (int i = 0; i < N; i++)
        cout << nums[i] << "\n";
    return 0;
}

- 메모리: 2020 KB

- 시간: 0 ms

- 코드 길이: 311 B

728x90

'Algorithm > BackJoon' 카테고리의 다른 글

10989번: 수 정렬하기 3  (0) 2023.06.06
2751번: 수 정렬하기 2  (0) 2023.06.06
11650번: 좌표 정렬하기  (0) 2023.06.05
11651번: 좌표 정렬하기 2  (0) 2023.06.05
9935번: 문자열 폭발  (0) 2023.06.04

댓글