본문 바로가기
Programming/알고리즘

[백준/Python] 1448번 삼각형 만들기

by castberry_ 2024. 6. 24.
반응형

문제

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

 

소스코드

import sys

input = sys.stdin.readline 
n = int(input())
data = []
for i in range(n):
    data.append(int(input()))

data.sort()
data.reverse()
for i in range(n - 2):
    if data[i] < data[i + 1] + data[i + 2]:
        print(data[i] + data[i + 1] + data[i + 2])
        break
    else:
        if i == n - 3:
            print(-1)

 

 

삼각형은 세변이 주어졌을때, 가장 긴 변이 나머지 두 변의 합보다 작아야합니다. 

이를 기억하고 주어진 데이터를 내림차순으로 정렬한뒤 위에서부터 삼각형이 되는 조건을 비교해보며 탐색하면 되는 문제입니다. 

 

 

 

반응형

댓글