코드치고 무게치고

[백준 python] 1448번 삼각형 만들기 (삼각형의 조건) - 그리디 본문

개발공부/코딩테스트 준비

[백준 python] 1448번 삼각형 만들기 (삼각형의 조건) - 그리디

코딩하자영아 2022. 3. 3. 20:01

[백준 python] 1448번 삼각형 만들기 - 그리디

레벨: 실버3

언어: python


문제풀러가기

📑풀이 과정

삼각형의 조건 중 가장 긴 변이 나머지 두변의 합보다 작다 라는 조건이 있다.
가장 긴변이 A라면 A < B + C 조건을 만족하면 된다.

들어오는 값을 정렬한 뒤 가장 큰 값, 두번째로 큰 값, 세번째로 큰값을 조건이 맞는지 비교하면 된다.

📋풀이 코드

import sys

input = sys.stdin.readline

def fun(arr):
  i = 0
  while i+2 <len(arr):
    if arr[i] < arr[i+1] +arr[i+2]:
      return arr[i]+arr[i+1] +arr[i+2]
    i+=1
  return -1

N = int(input())
arr = [int(input()) for _ in range(N)]
arr.sort(reverse=True)

print(fun(arr))

Comments