코딩뚠뚠

[백준문제풀이] 2750 수 정렬하기 본문

알고리즘 문제풀이/백준문제풀이

[백준문제풀이] 2750 수 정렬하기

로디네로 2020. 12. 29. 01:13
반응형

 

풀이 일시 : 2020-07-30

문제 :

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

 

입력 :

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

ex)

5

5

2

3

4

1

 

출력 :

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

ex )

1

2

3

4

5

 

풀이 :

N을 먼저 입력 받고 N개의 숫자를 입력받아 배열에 입력해준다. 이후 원하는 sort 알고리즘으로 sort 후 출력한다.

시간복잡도 O(N^2)

 

#include <stdio.h>
#define MAX 1001

int a[MAX];

int main() {
	int number, i, j, min, index, temp;
	scanf("%d", &number); //N을 입력받는다.
	for (i = 0; i < number; i++) { //N번 반복하며 a[]에 수를 입력해준다.
		scanf("%d", &a[i]);
	}
	for (i = 0; i < number; i++) { 
		min = 1001;
		for (j = i; j < number; j++) {
			if (min > a[j]) {
				min = a[j];
				index = j;
			}
		}
		temp = a[i];
		a[i] = a[index];
		a[index] = temp;
	}
	for (i = 0; i < number; i++) {
		printf("%d\n", a[i]);
	}
	return 0;
}

 

반응형