#Swift 4 , 41 bytes
Swift 4 , 41 bytes
{zip(0,ドル1ドル).map{0ドル==1ドル ?2*0ドル:max(0,ドル1ドル)}}
let f: ([Float], [Float]) -> [Float]
= {zip(0,ドル1ドル).map{0ドル==1ドル ?2*0ドル:max(0,ドル1ドル)}}
let testcases: [(inputA: [Float], inputB: [Float], expected: [Float])] = [
(
inputA: [],
inputB: [],
expected: []
),
(
inputA: [1, 2, 3],
inputB: [1, 3, 2],
expected: [2, 3, 3]
),
(
inputA: [1, 3, 3.2, 2.3],
inputB: [3, 1, 3.2, 2.6],
expected: [3, 3, 6.4, 2.6]
),
(
inputA: [1,2,3,4,5,5,7,8,9,10],
inputB: [10,9,8,7,6,5,4,3,2,1],
expected: [10, 9, 8, 7, 6, 10, 7, 8, 9, 10]
),
(
inputA: [-3.2, -3.2, -2.4, 7, -10.1],
inputB: [100, -3.2, 2.4, -7, -10.1],
expected: [100, -6.4, 2.4, 7, -20.2]
),
]
for (caseNumber, testcase) in testcases.enumerated() {
let actual = f(testcase.inputA, testcase.inputB)
assert(actual == testcase.expected,
"Testcase #\(caseNumber) \((testcase.inputA, testcase.inputB)) failed. Got \(actual), but expected \(testcase.expected)!")
print("Testcase #\(caseNumber) passed!")
}
#Swift 4 , 41 bytes
{zip(0,ドル1ドル).map{0ドル==1ドル ?2*0ドル:max(0,ドル1ドル)}}
let f: ([Float], [Float]) -> [Float]
= {zip(0,ドル1ドル).map{0ドル==1ドル ?2*0ドル:max(0,ドル1ドル)}}
let testcases: [(inputA: [Float], inputB: [Float], expected: [Float])] = [
(
inputA: [],
inputB: [],
expected: []
),
(
inputA: [1, 2, 3],
inputB: [1, 3, 2],
expected: [2, 3, 3]
),
(
inputA: [1, 3, 3.2, 2.3],
inputB: [3, 1, 3.2, 2.6],
expected: [3, 3, 6.4, 2.6]
),
(
inputA: [1,2,3,4,5,5,7,8,9,10],
inputB: [10,9,8,7,6,5,4,3,2,1],
expected: [10, 9, 8, 7, 6, 10, 7, 8, 9, 10]
),
(
inputA: [-3.2, -3.2, -2.4, 7, -10.1],
inputB: [100, -3.2, 2.4, -7, -10.1],
expected: [100, -6.4, 2.4, 7, -20.2]
),
]
for (caseNumber, testcase) in testcases.enumerated() {
let actual = f(testcase.inputA, testcase.inputB)
assert(actual == testcase.expected,
"Testcase #\(caseNumber) \((testcase.inputA, testcase.inputB)) failed. Got \(actual), but expected \(testcase.expected)!")
print("Testcase #\(caseNumber) passed!")
}
Swift 4 , 41 bytes
{zip(0,ドル1ドル).map{0ドル==1ドル ?2*0ドル:max(0,ドル1ドル)}}
let f: ([Float], [Float]) -> [Float]
= {zip(0,ドル1ドル).map{0ドル==1ドル ?2*0ドル:max(0,ドル1ドル)}}
let testcases: [(inputA: [Float], inputB: [Float], expected: [Float])] = [
(
inputA: [],
inputB: [],
expected: []
),
(
inputA: [1, 2, 3],
inputB: [1, 3, 2],
expected: [2, 3, 3]
),
(
inputA: [1, 3, 3.2, 2.3],
inputB: [3, 1, 3.2, 2.6],
expected: [3, 3, 6.4, 2.6]
),
(
inputA: [1,2,3,4,5,5,7,8,9,10],
inputB: [10,9,8,7,6,5,4,3,2,1],
expected: [10, 9, 8, 7, 6, 10, 7, 8, 9, 10]
),
(
inputA: [-3.2, -3.2, -2.4, 7, -10.1],
inputB: [100, -3.2, 2.4, -7, -10.1],
expected: [100, -6.4, 2.4, 7, -20.2]
),
]
for (caseNumber, testcase) in testcases.enumerated() {
let actual = f(testcase.inputA, testcase.inputB)
assert(actual == testcase.expected,
"Testcase #\(caseNumber) \((testcase.inputA, testcase.inputB)) failed. Got \(actual), but expected \(testcase.expected)!")
print("Testcase #\(caseNumber) passed!")
}
#Swift 4, 41 bytes
{zip(0,ドル1ドル).map{0ドル==1ドル ?2*0ドル:max(0,ドル1ドル)}}
let f: ([Float], [Float]) -> [Float]
= {zip(0,ドル1ドル).map{0ドル==1ドル ?2*0ドル:max(0,ドル1ドル)}}
let testcases: [(inputA: [Float], inputB: [Float], expected: [Float])] = [
(
inputA: [],
inputB: [],
expected: []
),
(
inputA: [1, 2, 3],
inputB: [1, 3, 2],
expected: [2, 3, 3]
),
(
inputA: [1, 3, 3.2, 2.3],
inputB: [3, 1, 3.2, 2.6],
expected: [3, 3, 6.4, 2.6]
),
(
inputA: [1,2,3,4,5,5,7,8,9,10],
inputB: [10,9,8,7,6,5,4,3,2,1],
expected: [10, 9, 8, 7, 6, 10, 7, 8, 9, 10]
),
(
inputA: [-3.2, -3.2, -2.4, 7, -10.1],
inputB: [100, -3.2, 2.4, -7, -10.1],
expected: [100, -6.4, 2.4, 7, -20.2]
),
]
for (caseNumber, testcase) in testcases.enumerated() {
let actual = f(testcase.inputA, testcase.inputB)
assert(actual == testcase.expected,
"Testcase #\(caseNumber) \((testcase.inputA, testcase.inputB)) failed. Got \(actual), but expected \(testcase.expected)!")
print("Testcase #\(caseNumber) passed!")
}