문제
음양 더하기
문제파악하기
- 동일한 길이의 배열이 주어진다.
- 한쪽은 양수인지 음수인지만 판별하고 1 또는 -1을 곱하여 더한 것을 누적하면 된다.
풀이
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
var sum = 0
for i in 0 ..< absolutes.count {
let sign = signs[i] == true ? 1 : -1
sum += absolutes[i] * sign
}
return sum
}
🤔 FEEDBACK
- 다른 답들을 보니까 고차함수 써볼걸 하는 후회가 밀려온다 .. 😳
- 내일부터 백준 브론즈 5 도장깨기 하면서 고차함수 연습 실컷 해야겠다.
다른 풀이
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
return (0..<absolutes.count).map { signs[$0] ? absolutes[$0] : -absolutes[$0] }.reduce(0, +)
}