어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
1.absolutes와 signs의 요소를 매칭한다.(튜플 사용) 2.절대값이 담긴 하나의 array로 만든다 3.reduce를 사용해서 요소의 값을 더한다.let (device, number, size) = (“iPhone”, 12,“mini”)
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
var matchedTuples: [(Int, Bool)] = []
//1.absolutes와 signs의 요소를 매칭한다.
for i in 0..<min(absolutes.count, signs.count) {
let tuple = (absolutes[i], signs[i])
matchedTuples.append(tuple)
}
//2.절대값이 담긴 하나의 array로 만든다
let absoluteValues = matchedTuples.map { $1 ? $0 : -$0}
//3.reduce를 사용해서 요소의 값을 더한다.
let sumValue = absoluteValues.reduce(0){ $0 + $1}
return sumValue
}
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
var matchedTuples: [(Int, Bool)] = []
//1.absolutes와 signs의 요소를 매칭한다.
for i in 0..<min(absolutes.count, signs.count) {
let tuple = (absolutes[i], signs[i])
matchedTuples.append(tuple)
}
//2.절대값이 담긴 array를 만들고, 배열의 모든 요소의 값을 더한다
let sumAbsoluteValues = matchedTuples.map { $1 ? $0 : -$0}.reduce(0){ $0 + $1}
return sumAbsoluteValues
}
func solution(_ absolutes: [Int], _ signs: [Bool]) -> Int {
// 1. absolutes와 signs의 요소를 매칭하여 튜플 배열 생성
let matchedTuples = zip(absolutes, signs)
// 2. 절대값이 담긴 array를 만들고, 배열의 모든 요소의 값을 더한다
let sumAbsoluteValues = matchedTuples.map { $1 ? $0 : -$0 }.reduce(0, +)
return sumAbsoluteValues
}