From 4b3b1f7889d660a8f96f292951368b30dd7788dd Mon Sep 17 00:00:00 2001 From: Nahyun Park Date: Fri, 29 Nov 2024 15:41:34 +0900 Subject: [PATCH] =?UTF-8?q?[Silver=20III]=20Title:=20=EC=82=BC=EA=B0=81?= =?UTF-8?q?=ED=98=95=20=EB=A7=8C=EB=93=A4=EA=B8=B0,=20Time:=20576=20ms,=20?= =?UTF-8?q?Memory:=2075996=20KB=20-BaekjoonHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 28 +++++++++++++++++++ ...05\353\247\214\353\223\244\352\270\260.py" | 25 +++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 "\353\260\261\354\244\200/Silver/1448.\342\200\205\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260/README.md" create mode 100644 "\353\260\261\354\244\200/Silver/1448.\342\200\205\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260/\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260.py" diff --git "a/\353\260\261\354\244\200/Silver/1448.\342\200\205\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260/README.md" "b/\353\260\261\354\244\200/Silver/1448.\342\200\205\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..4265f3e --- /dev/null +++ "b/\353\260\261\354\244\200/Silver/1448.\342\200\205\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,28 @@ +# [Silver III] 삼각형 만들기 - 1448 + +[문제 링크](https://www.acmicpc.net/problem/1448) + +### 성능 요약 + +메모리: 75996 KB, 시간: 576 ms + +### 분류 + +그리디 알고리즘, 수학, 정렬 + +### 제출 일자 + +2024년 11월 29일 15:41:23 + +### 문제 설명 + +

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

+ +### 입력 + +

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

+ +### 출력 + +

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

+ diff --git "a/\353\260\261\354\244\200/Silver/1448.\342\200\205\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260/\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260.py" "b/\353\260\261\354\244\200/Silver/1448.\342\200\205\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260/\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260.py" new file mode 100644 index 0000000..5f317b2 --- /dev/null +++ "b/\353\260\261\354\244\200/Silver/1448.\342\200\205\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260/\354\202\274\352\260\201\355\230\225\342\200\205\353\247\214\353\223\244\352\270\260.py" @@ -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()) \ No newline at end of file