https://www.acmicpc.net/problem/1448
1448번: 삼각형 만들기
첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다
www.acmicpc.net
중학교 수학에서 배우는 삼각형의 개념을 통해 풀면 된다.
가장 긴 변의 길이 < 나머지 두 변의 길이 합
파이썬 코드
#1448_삼각형 만들기
import sys
input = sys.stdin.readline
N = int(input())
straw=[]
for _ in range(N):
straw.append(int(input()))
straw.sort(reverse=True)
#세 변 중 가장 긴 변의 길이 < 두 변의 길이 합
res=0
for i in range(len(straw)-2):
if straw[i] < straw[i+1] + straw[i+2]:
res = straw[i] + straw[i+1] + straw[i+2]
break
else:
res=-1
print(res)
'알고리즘 > 백준(BOJ)' 카테고리의 다른 글
[백준/알고리즘] #2910: 빈도 정렬 (0) | 2021.10.01 |
---|---|
[백준/알고리즘] #10821: 정수의 개수 [문자열] (0) | 2021.10.01 |
[백준/알고리즘]#2659: 십자카드 문제 [파이썬(python)/구현] (0) | 2021.09.29 |
[백준/알고리즘]#6896: 절사평균 [파이썬(python)/부동소수점] (0) | 2021.09.28 |
[백준/알고리즘]#11652: 카드 [파이썬(python)] (0) | 2021.09.27 |