본문 바로가기
코딩 테스트/Python_백준

[백준/Python] 14215번 세 막대 문제

by 모두의 케빈 2023. 4. 24.

■ 14215번 세 막대 문제

 

출처: 백준 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))

 

댓글