210109 | 백준 정렬 1427, 2750, 11650 | C++
1427
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int arr[100];
int org = N;
int size = 0;
while (N / 10 != 0) {
N = N / 10;
size++;
}
N = org;
for (int i = 0; i < size + 1; i++) {
arr[i] = N % 10;
N = N / 10;
}
for (int i = 0; i < size; i++) {
for (int j = i + 1; j < size + 1; j++) {
if (arr[i] < arr[j])
swap(arr[i], arr[j]);
}
}
for (int i = 0; i < size+1; i++)
cout << arr[i];
}
2750
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int arr[1000];
for(int i = 0; i < N; i++)
cin >> arr[i];
for (int i = 0; i < N-1; i++) {
for (int j = i + 1; j < N; j++) {
if (arr[i] > arr[j])
swap(arr[i], arr[j]);
}
}
for (int i = 0; i < N; i++)
cout << arr[i] << endl;
}
11650
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int arr[100];
int org = N;
int size = 0;
while (N / 10 != 0) {
N = N / 10;
size++;
}
N = org;
for (int i = 0; i < size + 1; i++) {
arr[i] = N % 10;
N = N / 10;
}
for (int i = 0; i < size; i++) {
for (int j = i + 1; j < size + 1; j++) {
if (arr[i] < arr[j])
swap(arr[i], arr[j]);
}
}
for (int i = 0; i < size+1; i++)
cout << arr[i];
}
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int arr[1000];
for(int i = 0; i < N; i++)
cin >> arr[i];
for (int i = 0; i < N-1; i++) {
for (int j = i + 1; j < N; j++) {
if (arr[i] > arr[j])
swap(arr[i], arr[j]);
}
}
for (int i = 0; i < N; i++)
cout << arr[i] << endl;
}
11650
처음에는 모든 좌표들을 비교하여 swap해주는 반복문을 짜주었다. 그랬더니 계속 시간초과가 나서 < algorithm >라이브러리에 있는 sort함수를 사용하여 간결하게 하고, 마지막 출력부분에서 endl; 대신 '\n';을 사용하였다.
#include <iostream>
#include <vector>
using namespace std;
int main() {
int N;
cin >> N;
vector<vector<int>> arr(N, vector<int>(2, 0));
for (int i = 0; i < N; i++) {
cin >> arr[i][0];
cin >> arr[i][1];
}
for (int i = 0; i < N - 1; i++) {
for (int j = i + 1; j < N; j++) {
if (arr[i][0] > arr[j][0]) {
swap(arr[i], arr[j]);
}
else if (arr[i][0] == arr[j][0]) {
if (arr[i][1] > arr[j][1]) {
swap(arr[i], arr[j]);
}
}
}
}
for (int i = 0; i < N; i++) {
cout << arr[i][0] << " " << arr[i][1] << endl;
}
}
최종
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N;
cin >> N;
vector<vector<int>> arr(N, vector<int>(2, 0));
for (int i = 0; i < N; i++) {
cin >> arr[i][0];
cin >> arr[i][1];
}
sort(arr.begin(), arr.end());
for (int i = 0; i < arr.size(); i++) {
cout << arr[i][0] << " " << arr[i][1] << '\n';
}
}
algorithm
sort 함수
sort함수의 기본값은 오름차순 정렬이다. 내림차순으로 정렬하기 위해서는 파라미터 마지막에 greather<>()을 추가하면 된다!
Author And Source
이 문제에 관하여(210109 | 백준 정렬 1427, 2750, 11650 | C++), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nayeon_p00/210109-백준-정렬-1427-2750-11650-C저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)