백준문제풀이 10단계 기하: 직사각형과 삼각형(8) 14215번 세 막대 (C#)
2024. 7. 4. 20:00ㆍ백준 문제풀이/10단계 기하: 직사각형과 삼각형
세 막대기를 가지고 삼각형을 만들고 그 삼각형의 둘래를 구하는 문제.
여기서 주의해야 할 점은 삼각형을 만들수 있어야한다.
가장긴 막대의 길이가 나머지 막대의 합보다 작아야한다는 말이다.
비교해보고 크거나 같다면 길이에맞게 잘라주어야한다.
using System;
class BackJoon
{
static void Main(string[] args)
{
string[] input = Console.ReadLine().Split();
int a = int.Parse(input[0]);
int b = int.Parse(input[1]);
int c = int.Parse(input[2]);
int max = Math.Max(a, Math.Max(b, c));
int sum = a + b + c;
if (sum - max > max)
Console.WriteLine(a + b + c);
else
{
max -= (sum - max);
Console.WriteLine((a + b + c) - max - 1);
}
}
}
막대의 길이를 전부 받아주고 가장긴 길이를 구해주자.
또 세 막대의 합도 구해주자.
먼저 합에서 최댓값을 뺀 값이 최댓값보다 크다면
이건 올바른 삼각형을 만들수있다는것이니 세막대의 합을 그대로 출력해주면 된다.
그 다음으로 작거나 같을 경우 최댓값에서 나머지 두개의 값을 빼준다.
그다음 합에서 max(최댓값에서 나머지 두개의 값을 뺀 새로운 max)를 빼주고
추가로 1을 빼준다(같아도 안된니까)
출력하면 끝.
이것으로 10단계 기하: 직사각형과 삼각형가 끝났다.
생각보다 쉬운문제들로 구성되있었다.
내일부터는 11단계 시간 복잡도로 넘어가보자.
이름만 들어도 머리가 아파온다...
'백준 문제풀이 > 10단계 기하: 직사각형과 삼각형' 카테고리의 다른 글
백준문제풀이 10단계 기하: 직사각형과 삼각형(7) 5073번 삼각형과 세 변 (C#) (1) | 2024.07.02 |
---|---|
백준문제풀이 10단계 기하: 직사각형과 삼각형(6) 10101번 삼각형 외우기 (C#) (1) | 2024.06.30 |
백준문제풀이 10단계 기하: 직사각형과 삼각형(5) 9063번 대지 (C#) (0) | 2024.06.29 |
백준문제풀이 10단계 기하: 직사각형과 삼각형(4) 15894번 수학은 체육과목 입니다 (C#) (0) | 2024.06.28 |
백준문제풀이 10단계 기하: 직사각형과 삼각형(3) 3009번 네 번째 점 (C#) (0) | 2024.06.27 |