반응형
문제
영선이는 길이가 a, b, c인 세 막대를 가지고 있고, 각 막대의 길이를 마음대로 줄일 수 있다.
영선이는 세 막대를 이용해서 아래 조건을 만족하는 삼각형을 만들려고 한다.
- 각 막대의 길이는 양의 정수이다
- 세 막대를 이용해서 넓이가 양수인 삼각형을 만들 수 있어야 한다.
- 삼각형의 둘레를 최대로 해야 한다.
a, b, c가 주어졌을 때, 만들 수 있는 가장 큰 둘레를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다.
출력
첫째 줄에 만들 수 있는 가장 큰 삼각형의 둘레를 출력한다.
예제 입력 11 2 3
|
예제 출력 15
|
예제 입력 22 2 2
|
예제 출력 26
|
예제 입력 31 100 1
|
예제 출력 33
|
예제 입력 441 64 16
|
예제 출력 4113
|
풀이
주어진 막대를 이용하여 만들 수 있는 가장 큰 삼각형의 둘레를 출력해야 한다.
삼각형을 만들기 위한 조건을 충족하기 위해 가장 긴 막대가 나머지 두 막대의 합 보다 작아야 한다.
문제에서 길이를 마음대로 줄일 수 있다고 했으니, 가장 긴 막대의 길이를 적절하게 줄인 것의 둘레의 합을 구하도록 하자.
a,b,c = map(int,input().split())
arr = [a,b,c]
max_num = max(arr)
arr.remove(max_num)
print(sum(arr)+max_num if max_num < sum(arr) else sum(arr)*2-1)
반응형
'알고리즘 연습 > 수학, 정수론, 기하' 카테고리의 다른 글
[🥉3 / 백준 1267 / 파이썬] 핸드폰 요금 (0) | 2023.09.29 |
---|---|
[🥉1 / 백준 4344 / 파이썬] 평균은 넘겠지 (2) | 2023.06.22 |
[🥉3 / 백준 5073 / 파이썬] 삼각형과 세 변 (0) | 2023.06.11 |
[🥉3 / 백준 9063 / 파이썬] 대지 (2) | 2023.06.06 |
[🥉3 / 백준 10707 / 파이썬] 수도요금 (0) | 2022.10.22 |