[백준] 14215:세 막대 (자바)

이지혁·2024년 11월 22일

백준

목록 보기
15/19

package buffer;

import java.io.*;
import java.util.StringTokenizer;

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 = new int[st.countTokens()];
        int max = Integer.MIN_VALUE;
        int maxIndex = 0;
        int sum = 0;

        for (int i = 0; i < arr.length; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
            if (arr[i] > max) {
                max = arr[i];
                maxIndex = i;
            }
        }

        for (int i = 0; i < arr.length; i++) {
            if(i != maxIndex) {
                sum += arr[i];
            }
        }

        if(sum <= max) {
            arr[maxIndex] = sum - 1;
        }

        System.out.println(sum + arr[maxIndex]);
    }
}

세 값을 입력받는다.
배열의 세 값중 최대 값과 그 값의 인덱스를 찾는다.
만약 삼각형의 조건을 충족하지 않는다면, arr[maxIndex]값을 sum - 1로 줄인다.
sum + arr[maxIndex] 값을 출력한다.

0개의 댓글