문제 >
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력 >
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력 >
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
해결방법 >
sort()함수를 사용하는 방법도 있지만, bubble sort로 구현
#include <iostream>
#define MAX_SIZE 1001
using namespace std;
int main(){
int n;
int arr[MAX_SIZE];
cin >> n;
for(int i = 0; i < n; i++){
cin >> arr[i];
}
for(int i = 0; i < n; i++){
for(int j = 0; j < n - i - 1; j++){
if(arr[j] > arr[j+1]){
int tmp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = tmp;
}
}
}
for(int i = 0; i < n; i++){
cout << arr[i] << "\n";
}
}
문제링크 >
https://www.acmicpc.net/problem/2750
'Problem Solving > BOJ' 카테고리의 다른 글
[백준] 10250번 - ACM 호텔 (0) | 2020.01.10 |
---|---|
[백준] 2839번 - 설탕 배달 (0) | 2020.01.09 |
[백준] 2581번 - 소수 (0) | 2020.01.07 |
[백준] 2292번 - 벌집 (0) | 2020.01.07 |
[백준] 2108번 - 통계학 (0) | 2020.01.07 |
댓글