BOJ - 1448

주의·2024년 1월 14일
0

boj

목록 보기
67/214

백준 문제 링크
삼각형 만들기

❓접근법

  1. 먼저 삼각형 길이를 담을 리스트 data에 길이를 담고, 내림차순 정렬한다.
  2. 삼각형을 만드는 지 확인할 수 있는 변수 isFalse = False를 만들고,
    for문으로 data를 돌면서
    삼각형 조건에 적합한지 확인한다. 조건은 다음과 같다.
  • 세변의 길이가 주어질 때 삼각형이 될 수 있는 조건은 두 변의 길이의 합이 나머지 한 변의 길이보다 커야 한다는 것
  1. 조건에 부합한다면 isFalse = True로 만들고, answer에 가능한 3가지 길이를 넣어준다.
  2. isFalse가 False이면 -1을, True이면 sum(answer)를 반환하면 끝

👌🏻코드

import sys
N = int(sys.stdin.readline())
data = []
for _ in range(N):
    data.append(int(sys.stdin.readline()))
data.sort(reverse = True)

isFalse = False

for i in range(len(data)):
    
    if sum(data[i+1 : i+3]) > data[i]:
        isFalse = True
        answer = data[i : i+3]
        break

if isFalse == True:
    print(sum(answer))
else:
    print(-1)

0개의 댓글