본문 바로가기
Problem Solving/Baekjoon

[백준] 1448 삼각형 만들기 - Greedy / Java

by graycode 2023. 2. 20.

 문제 링크

 

1448번: 삼각형 만들기

첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다

www.acmicpc.net

 

 풀이 과정

 

 풀이 코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;

public class Main {

    static int[] arr;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());

        arr = new int[n];
        while (n-- > 0)
            arr[n] = Integer.parseInt(br.readLine());

        Arrays.sort(arr);

        bw.write(String.valueOf(find()));
        bw.flush();
    }

    private static int find() {
        for (int i = arr.length - 3; i >= 0; i--) {
            if (arr[i] + arr[i + 1] > arr[i + 2])
                return arr[i] + arr[i + 1] + arr[i + 2];
        }

        return -1;
    }

}

댓글