Where who wants to meet someone
백준 Swift [14215] 세 막대 본문
728x90
난이도
브론즈 III
문제
https://www.acmicpc.net/problem/14215
내 답안
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을 빼준 값을 출력한다.
'백준 알고리즘 문제 기록 > 기하: 직사각형과 삼각형' 카테고리의 다른 글
백준 Swift [5073] 삼각형과 세 변 (0) | 2023.07.02 |
---|---|
백준 Swift [10101] 삼각형 외우기 (0) | 2023.07.02 |
백준 Swift [9063] 대지 (0) | 2023.07.02 |
백준 Swift [15894] 수학은 체육과목 입니다 (0) | 2023.07.02 |
백준 Swift [3009] 네 번째 점 (0) | 2023.07.02 |