■ 14215번 세 막대 문제
■ 코드 풀이
이 문제의 핵심은 값을 '줄이는' 것만 가능하고 늘리는 것은 불가능하다는 점입니다. 따라서, 주어진 세 값이 삼각형의 조건에 부합한다면 굳이 값을 줄일 필요 없이 그대로 출력하면 됩니다. 단, 삼각형의 조건에 부합하지 않는다면 조건에 맞게 가장 큰 값을 조절해 주면 됩니다. (참고로 삼각형의 조건은 가장 큰 값이 다른 두 값의 합보다 작아야 한다는 것입니다.) 가장 큰 값을 조절할 때는 최소한으로 조절해야 하므로, 다른 두 숫자의 합보다 딱 1만큼 작게 해 줍니다.
num_list = sorted(list(map(int, input().split())))
if num_list[2] >= num_list[0] + num_list[1]:
print(2*(num_list[0] + num_list[1])-1)
else:
print(sum(num_list))
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 24263번 알고리즘 수업 - 알고리즘의 수행 시간 2 문제 (0) | 2023.04.26 |
---|---|
[백준/Python] 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 문제 (1) | 2023.04.25 |
[백준/Python] 5073번 삼각형과 세 변 문제 (0) | 2023.04.23 |
[백준/Python] 10101번 삼각형 외우기 문제 (0) | 2023.04.22 |
[백준/Python] 9063번 대지 문제 (0) | 2023.04.21 |
댓글