Algorithm/BackJoon
2750번: 수 정렬하기
꼬부기가우는소리
2023. 6. 4. 18:10
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