코깽이의 코딩일기

Java 백준 1448 삼각형 만들기 본문

PS/백준

Java 백준 1448 삼각형 만들기

코깽이 2024. 2. 13. 16:12
반응형

백준 링크

https://www.acmicpc.net/problem/1448

 

1448번: 삼각형 만들기

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

www.acmicpc.net


문제

입력

출력

입출력 예시

 


제출한 코드

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

class Main {
	static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	static StringTokenizer st;
	static int N;
	static int[] data;

	public static void main(String[] args) throws Exception {
		N = Integer.parseInt(br.readLine());
		data = new int[N];
		for (int i = 0; i < N; i++) {
			data[i] = Integer.parseInt(br.readLine());
		}

		Arrays.sort(data);

		for (int i = data.length - 3; i >= 0; i--) {
			if (data[i] + data[i + 1] > data[i + 2]) {
				System.out.println(data[i] + data[i + 1] + data[i + 2]);
				return;
			}
		}
		System.out.println(-1);
	}
}

 

삼각형이 될 수 있는 조건 = 두 변의 길이의 합 > 나머지 한 변의 길이

 

 

1. 세 변의 길이의 합이 최대인 경우를 찾아야 하니 입력받은 데이터를 정렬해 준다.

2. 삼각형이 만들어질 수 있는 조건이 성립하는 순간을 찾기만 하면 끝

반응형

'PS > 백준' 카테고리의 다른 글

Java 백준 17087 숨바꼭질 6  (0) 2024.02.13
Java 백준 24511 queuestack  (1) 2024.02.13
Java 백준 1342 행운의 문자열  (0) 2024.02.05
Java 백준 16165 걸그룹 마스터  (0) 2024.02.05
Java 백준 2866 문자열 잘라내기  (1) 2024.02.05