Where who wants to meet someone

백준 Swift [14215] 세 막대 본문

백준 알고리즘 문제 기록/기하: 직사각형과 삼각형

백준 Swift [14215] 세 막대

Lust3r 2023. 7. 2. 18:18
728x90

난이도

브론즈 III

 

문제

https://www.acmicpc.net/problem/14215

 

14215번: 세 막대

첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다.

www.acmicpc.net

 

내 답안

let input = readLine()!.split(separator: " ").map { Int($0)! }.sorted()

input[2] < input[0] + input[1] ? print(input.reduce(0, +)) : print(2 * (input[0] + input[1]) - 1)

- 계산을 쉽게 하기 위해 sorted로 정렬

- 가장 큰 값이 다른 두 값의 합보다 작다면 삼각형이 성립되기에 다 더한 값을 출력하고, 아니라면 조정이 필요한데 가장 큰 상태는 다른 두 변의 합보다 1이 작은 상태이기 때문에 식을 정리하면 작은 두 변의 합에 2를 곱하고 1을 빼준 값을 출력한다.