Skip to content

Commit

Permalink
[Silver III] Title: 삼각형 만들기, Time: 576 ms, Memory: 75996 KB -BaekjoonHub
Browse files Browse the repository at this point in the history
  • Loading branch information
nahowo committed Nov 29, 2024
1 parent 7dbd105 commit 4b3b1f7
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
28 changes: 28 additions & 0 deletions 백준/Silver/1448. 삼각형 만들기/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# [Silver III] 삼각형 만들기 - 1448

[문제 링크](https://www.acmicpc.net/problem/1448)

### 성능 요약

메모리: 75996 KB, 시간: 576 ms

### 분류

그리디 알고리즘, 수학, 정렬

### 제출 일자

2024년 11월 29일 15:41:23

### 문제 설명

<p>세준이는 N개의 빨대를 가지고 있다. N개의 빨대 중에 3개의 빨대를 선택했을 때, 이 빨대로 삼각형을 만들 수 있다면, 세 변의 길이의 합의 최댓값을 구하고 싶다.</p>

### 입력

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

### 출력

<p>첫째 줄에 삼각형 세 변의 길이의 합의 최댓값을 출력한다. 만약 삼각형을 만들 수 없으면 -1을 출력한다.</p>

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import sys
input = sys.stdin.readline

def makeTriangle(a, b, c): # a >= b >= c
if a >= b + c:
return -1
return a + b + c

def solution():
n = int(input())

straw = []
for _ in range(n):
straw.append(int(input()))

straw.sort(reverse = True)

for i in range(n - 2):
result = makeTriangle(straw[i], straw[i + 1], straw[i + 2])
if result != -1:
break

return result

print(solution())

0 comments on commit 4b3b1f7

Please sign in to comment.