카테고리 없음
[프로그래머스] 최댓값 만들기 (2) (Swift)
데브킹덕
2023. 1. 24. 15:07
import Foundation
func solution(_ numbers:[Int]) -> Int {
var sortedNumbersArray = numbers.sorted(by:<)
var minusArray: [Int] = []
var plusArray: [Int] = []
var minusMax = 0
var plusMax = 0
if numbers.count == 2{
return numbers[0] * numbers[1]
}
func plusOrMinus(num: Int){
if num < 0{
minusArray.append(num)
}
else{
plusArray.append(num)
}
}
plusOrMinus(num: sortedNumbersArray[0])
plusOrMinus(num: sortedNumbersArray[1])
plusOrMinus(num: sortedNumbersArray[sortedNumbersArray.count - 1])
if sortedNumbersArray.count > 3{
plusOrMinus(num: sortedNumbersArray[sortedNumbersArray.count - 2])
}
if minusArray.count > 1{
minusMax = minusArray[0] * minusArray[1]
}
if plusArray.count > 1 {
plusMax = plusArray[plusArray.count - 1] * plusArray[plusArray.count - 2]
}
return minusMax > plusMax ? minusMax : plusMax
}