https://www.acmicpc.net/problem/14215
14215번: 세 막대
첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다.
www.acmicpc.net
풀이
#include <stdio.h>
int main() {
int a[3], temp;
scanf("%d %d %d", &a[0], &a[1], &a[2]);
// 길이가 모두 같을때
if (a[0] == a[1] && a[1] == a[2]) printf("%d\n", a[0] * 3);
// 다를때는 내림차순 정렬
else {
for (int i = 0; i < 3; i++) {
for (int j = i; j < 3; j++) {
if (a[i] < a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
// 삼각형의 조건에 부합하지 않을때
if (a[0] >= a[1] + a[2]) printf("%d\n", (a[1] + a[2]) * 2 - 1);
// 삼각형의 조건에 부합할때
else printf("%d\n", a[0] + a[1] + a[2]);
}
return 0;
}
삼각형의 조건이란?
= 가장 큰 변의 길이가 나머지 두변의 길이보다 클때 삼각형의 조건에 성립한다.
EX) a[0] < a[1]+a[2]
'코딩 > 백준 문제 (브론즈)' 카테고리의 다른 글
[백준/24262/C언어] 알고리즘 수업 - 알고리즘의 수행 시간 1 _ 풀이 (2) | 2023.09.02 |
---|---|
[백준/11653/C언어] 소인수분해 _ 풀이 (2) | 2023.09.02 |
[백준/5073/C언어] 삼각형과 세 변 _ 풀이 (0) | 2023.09.01 |
[백준/10101/C언어] 삼각형 외우기 _ 풀이 (0) | 2023.09.01 |
[백준/2869/C언어] 달팽이는 올라가고 싶다 _ 풀이 (0) | 2023.08.31 |