Doputer

[2752번] 세수정렬3️⃣

PS

문제

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

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

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

[입력]
3 1 2

[출력]
1 2 3

[알고리즘 분류]
정렬

 

풀이

swap을 이용해서 간단하게 세 수를 정렬한다.

더보기
#include <stdio.h>

void swap(int *a, int *b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}

int main(void)
{
	int L[3];

	for (int i = 0; i < 3; i++)
		scanf("%d", &L[i]);

	if (L[0] > L[1])
		swap(&L[0], &L[1]);
	if (L[1] > L[2])
		swap(&L[1], &L[2]);
	if (L[0] > L[1])
		swap(&L[0], &L[1]);

	for (int i = 0; i < 3; i++)
		printf("%d ", L[i]);

	return 0;
}

 

여담

세 수를 정렬하는데 많이 사용되는 깔끔한 테크닉이다.

 

출처

https://www.acmicpc.net/problem/2752

반응형

'PS' 카테고리의 다른 글

[2839번] 설탕 배달🧂  (0) 2020.10.10
[1003번] 피보나치 함수🔄  (0) 2020.10.07
[9095번] 1, 2, 3 더하기➕  (0) 2020.09.30

이 글의 태그

블로그의 정보

Doputer

#김도현

활동하기