반응형
● 문제 접근 과정
- 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
- 1001로 배열의 크기를 잡아도 되지만, 본 필자는 교수님께 동적배열할당을 배웠기에 복습하는 김에 이렇게 작성을 하였다.
- N만큼 배열의 값을 받고, 이중for문을 통해서 오름차순 정렬을 해준다
- 마지막에 조건에 맞게 cout을 해준다
- 동적으로 받은 메모리를 반납하고, 프로그램을 끝낸다.
● 구현
#include <iostream>
#include <string>
using namespace std;
int main() {
int length;
cin >> length;
int *array = new int[length];
for (int i = 0; i < length; i++) {
cin >> array[i];
}
for (int i = 0; i < length; i++) {
for (int j = i + 1; j < length; j++) {
if (array[i] > array[j])
swap(array[i], array[j]);
}
}
for (int i = 0; i < length; i++) {
cout << array[i] << endl;
}
delete[] array;
return 0;
}
https://www.acmicpc.net/problem/2750
반응형