[백준] 14215번 세 막대 Java 문제 풀이
2023. 3. 21. 18:25ㆍ알고리즘/백준
728x90
반응형
문제풀이
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
interface Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
Map<Integer, Boolean> angle = new HashMap<Integer, Boolean>();
int[] input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).sorted().toArray();
if(input[0] + input[1] > input[2]) {
System.out.println(input[0] + input[1] + input[2]);
} else {
System.out.println((input[0] + input[1]) * 2 -1);
}
}
}
세 막대의 길이가 주어졌을 때 삼각형이 되려면 가장 긴 막대의 길이가 나머지 막대의 길이의 합보다 작아야 합니다.
a + b > c 조건을 만족하면 그냥 그대로 출력합니다.
아닐 경우는 가장 긴 막대의 길이를 줄여야 만들 수 있는 가장 큰 둘레를 만들어야 합니다.
a + b 보다 1만큼 작으면 삼각형의 조건을 만족시키면서 가장 큰 둘레를 만들 수 있습니다.
출처 : https://www.acmicpc.net/problem/14215
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 24263번 알고리즘 수업 - 알고리즘의 수행 시간 2 Java 문제 풀이 (0) | 2023.03.23 |
---|---|
[백준] 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 Java 문제 풀이 (0) | 2023.03.23 |
[백준] 5073번 삼각형과 세 변 Java 문제 풀이 (0) | 2023.03.21 |
[백준] 10101번 삼각형 외우기 Java 문제 풀이 (0) | 2023.03.21 |
[백준] 9063번 대지 Java 문제 풀이 (0) | 2023.03.21 |