https://www.acmicpc.net/problem/14215
1. 아이디어
삼각형을 만드려면 가장 긴변이 나머지 두변의 길이의 합 보다 짧아야 한다는 점을 활용했다.
2. 문제풀이
막대의 길이를 줄일 수만 있으므로 짧은 두 막대는 그대로 두고 가장 긴 막대의 길이가 나머지 두 막대의 길이의 합보다 짧으면 그냥 사용하고 길면 두 막대의 길이의 합 -1 로 줄이는 방식으로 구현했다.
3. 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int[] arr = {Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken())};
Arrays.sort(arr);
int a = arr[0];
int b = arr[1];
int c = a + b > arr[2] ? arr[2] : a + b - 1;
System.out.println(a + b + c);
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 17387번 - 선분 교차 2 [Java] (0) | 2024.12.05 |
---|---|
[백준] 17386번 - 선분 교차 1 [Java] (0) | 2024.12.05 |
[백준] 1064번 - 평행사변형 [Java] (0) | 2024.12.05 |
[백준] 1027번 - 고층 건물 [Java] (0) | 2024.12.05 |
[백준] 11758번 - CCW [Java] (0) | 2024.12.05 |