2020. 9. 22. 23:15ㆍcoding study
2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
[문제]
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성
[입력]
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않음.
[출력]
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력
// 백준 2750번 삽입정렬로 해결하기
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
//배열 할당받기
int * arr = new int[a];
for (int i = 0; i < a; i++) {
cin >> arr[i];
}
for (int i = 1; i < a; i++) {
int b;
int key = arr[i];
for (b = i - 1; b >= 0; b--) {
if (arr[b] > key) {
arr[b + 1] = arr[b];
}
else
break;
}
arr[b + 1] = key;
}
for (int i = 0; i < a; i++)
cout << arr[i] << endl;
delete[] arr; //arr배열 할당 메모리 반환
system("pause");
return 0;
}
배열을 할당받아 입력하는 수를 대입하고 "삽입 정렬" 방법으로 2750번 문제를 해결하였다.
'coding study' 카테고리의 다른 글
백준 10814번 (0) | 2020.09.23 |
---|---|
백준 2751번 (0) | 2020.09.22 |
C++ . 2진수 --> 10진수로 바꾸기 (0) | 2020.03.10 |
C++ . 최대값 최소값 구하기 (0) | 2020.03.09 |
C++ . 함수 이용하여 조합 (nCr)구하기 (0) | 2020.03.04 |