나의 풀이
import Foundation
func solution(_ sides:[Int]) -> Int {
var array = sides
array.remove(at: sides.firstIndex(of: sides.max()!)!)
return sides.max()! < array.reduce(0, +) ? 1 : 2
}
- 새로운 배열에 복사
- 가장 큰 변의 길이 구해서 배열에서 제거
- 가장 큰 변의 길이와 나머지 길이 더해서 비교 후 값 리턴
다른 사람의 풀이
import Foundation
func solution(_ sides: [Int]) -> Int {
var sortedSides = sides.sorted()
return sortedSides[0] + sortedSides[1] > sortedSides[2] ? 1 : 2
}
- 새로운 배열에 오름차순 정렬해서 복사
- 인덱스로 바로 접근해 비교 후 값 리턴
정렬해서 구하는 방식이 더 깔끔한듯..^^
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 한 번만 등장한 문자 swift (0) | 2024.06.14 |
---|---|
[프로그래머스] 이진수 더하기 swift (1) | 2024.06.12 |
[프로그래머스] A로 B 만들기 swift (0) | 2024.06.12 |
[프로그래머스] k의 개수 swift (0) | 2024.06.12 |
[프로그래머스] 중복된 문자 제거 swift (0) | 2024.06.12 |