Where who wants to meet someone
백준 Swift [5073] 삼각형과 세 변 본문
728x90
난이도
브론즈 III
문제
https://www.acmicpc.net/problem/5073
내 답안
while true {
// 계산의 편리를 위해 sorted로 정렬
let input = readLine()!.split(separator: " ").map { Int($0)! }.sorted()
// 0 0 0 이 입력되면 종료
if input == [0, 0, 0] { break }
// input의 last(정렬했기 때문에 가장 큰 값)가 나머지의 합보다 같거나 크다면 Invalid 출력
if input.last! >= input.reduce(0, +) - input.last! {
print("Invalid")
} else {
// Invalid가 아니라면 input을 Set으로 중복제거한 값의 개수로 Switch문을 통해 분기
switch Set(input).count {
// 값이 1개라면 3개가 같은 값이기에 Equilateral 출력
case 1: print("Equilateral")
// 값이 2개라면 2개가 같은 값이기에 Isosceles 출력
case 2: print("Isosceles")
// 값이 3개라면 다 다른 값이기에 Scalene 출력
case 3: print("Scalene")
default: break
}
}
}
'백준 알고리즘 문제 기록 > 기하: 직사각형과 삼각형' 카테고리의 다른 글
백준 Swift [14215] 세 막대 (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 |