728x90
▶ 삼각형 변의 길이의 조건에 대해서 정리해보고자 합니다.
문제설명
입력 & 출력
나의 풀이
삼각형의 두 변의 길이의 합은 나머지 한 변의 길이보다 크다.
먼저 이번 문제를 풀기 위해서는 위와 같은 공식을 알고 있어야 합니다.
즉, 세 변 A, B, C 중 가장 긴 변을 C라 하면 𝐶 < 𝐴+𝐵 여야 한다는 뜻입니다.
먼저 a,b,c를 배열의 초기값으로 초기화를 해주고, Arrays의 sort()메서드를 사용하여 해당 배열을 오름차순으로 정렬해 줍니다.
A + B > C 라면 그대로 출력을 해주고, 만약 C가 크거나 같으면 삼각형이 될 수 없습니다. 하지만 문제에서 다음과 같은 조건을 주었습니다.
- 삼각형의 둘레를 최대로 해야 한다.
- 각 막대의 길이를 조절할 수 있다.
따라서 "삼각형의 둘레를 최대로 유지하면서 길이를 조절해야 한다"라는 뜻이기 때문에 이 말을 생각해 보면 C가 A+B보다 1만 작으면 최소한의 길이를 줄이는 것입니다.
그렇다면 공식은 다음과 같습니다.
- A + B + C
- A + B + (A + B - 1)
- 2(A+B) -1
즉 "2 * (A+B) -1"을 해주면 되는 것입니다.
'Coding Test > 백준' 카테고리의 다른 글
[백준] 뒤집힌 덧셈 (BufferedReader, StringBuilder, 1357번, Java) (0) | 2024.06.07 |
---|---|
[백준] 캠핑 (BufferedReader, 4796번, Java) (0) | 2024.06.07 |
[백준] 나누기 (BufferedReader, printf, 1075번, Java) (0) | 2024.06.06 |
[백준] 저항 (BufferedReader, HashMap, 1076번, Java) (0) | 2024.06.05 |
[백준] ROT13 (BufferedReader, StringBuilder, isLetter, 아스키 코드, 11655번, Java) (0) | 2024.06.04 |