백준 2750번

2020. 9. 22. 23:15coding study

www.acmicpc.net/problem/2750

 

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