관리 메뉴

HeeJ's

[백준 2750] 수 정렬하기 :: C언어 본문

<Algorithm>_solved/<BOJ>_C

[백준 2750] 수 정렬하기 :: C언어

meow00 2019. 11. 28. 14:09

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.


오름차순, 내림차순 정렬할 때 사용할 수 있는 여러가지 방법이 있겠지만,

버블 정렬을 사용해서 이 문제를 해결해 봤다.


#include<stdio.h>

int main() {
	int N, arr[1000] = { 0 };
	int tmp;
	scanf("%d", &N);
	for (int i = 0; i < N; i++) {
		scanf("%d", &arr[i]);
	}
	for (int i = 0; i < N; i++) {
		for (int j = 0; j < N-1; j++) {
			if (arr[j + 1] < arr[j]) {
				tmp = arr[j + 1];
				arr[j + 1] = arr[j];
				arr[j] = tmp;
			}
		}
	}
	for (int i = 0; i < N; i++) {
		printf("%d\n", arr[i]);
	}
	return 0;
}