코딩/백준 문제 (브론즈)

[백준/10817/C언어] 세 수 _ 풀이

룻밤 2023. 8. 16. 15:12

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

 

10817번: 세 수

첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)

www.acmicpc.net


풀이

#include <stdio.h>
int main() {
	int arr[3];
	int temp;

	for (int i = 0; i < 3; i++) {		// 입력
		scanf("%d", &arr[i]);
	}
	for (int i = 0; i < 3; i++) {		// 정렬 알고리즘
		for (int j = 0; j < 3; j++) {
			if (arr[i] > arr[j]) {		// i번째 원소가 j번째 원소보다 클때
				temp = arr[j];			// 서로 바꿈
				arr[j] = arr[i];
				arr[i] = temp;
			}
		}
	}	

	printf("%d\n", arr[1]);			// 2번째로 큰 원소 출력
}

문제의 입력 조건을 봤을때 if else로 푸는게 더 적절하겠지만,

필자는 알고리즘 연습을 위해 내림차순 정렬(descending ordered sort) 알고리즘을 사용했다.