코딩뚠뚠

[백준문제풀이] 2752 세수정렬 본문

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

[백준문제풀이] 2752 세수정렬

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

 

풀이 일시 : 2020-07-30

 

문제 :

동규는 세수를 하다가 정렬이 하고싶어졌다.

숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다.

숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오.

 

입력 :

숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다.

ex) 3 1 2

 

출력 :

제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다.

ex) 1 2 3

 

풀이 :

입력을 받은 뒤 알고있는 sort 알고리즘으로 sort 하여 print 한다. 크기가 3으로 정해져있기때문에 a[3]을 잡아놓고 시작한다.

 

#include <stdio.h>
int main() {
	int a[3]; //크기가 3인배열
	int temp;
	scanf("%d %d %d", &a[0], &a[1], &a[2]); // 세 수를 입력해준다.
	//bubble_sort로 풀어보자. 맨 뒤부터 정렬될것.
	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 2-i; j++) { 
			if (a[j] > a[j + 1]) { //조건에 따라 SWAP해준다.
				temp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = temp;
			}
		}
	}
	for (int i = 0; i < 3; i++) { //작은수부터 출력해준다.
		printf("%d ", a[i]);
	}
	return 0;
}
반응형