Code Challenge - 2024-06-18
unknown
javascript
a year ago
978 B
10
Indexable
const timeLookup = {
'[': 30,
']': 30,
'(': 15,
')': 15,
'{': 5,
'}': 5,
' ': 0,
}
function digging(input) {
if (!Array.isArray(input)) {
throw "Input must be array"
}
return input.reduce((carry,section)=>{
return carry
// Handle Dirt Carry Out
+ (section.includes(' ') ? 10 : 20)
// Section Cost
+ section.split('').reduce((carry2,material)=>{
return carry2 + timeLookup[material];
}
, 0);
}
, 0)
}
const testCases = [{
test: ['{}', '[]', '()'],
result: 160
}, {
test: ['{ ', '[ ', ' )'],
result: 80
}, {
test: ['[}', '(]'],
result: 120
}]
// Run Tests
testCases.forEach(tc => {
const result = digging(tc.test);
console.log("Test: ", tc.test,
"Expected:", tc.result,
"Actual:", result,
" - ", result == tc.result ? 'PASS' : 'FAIL');
})
Editor is loading...
Leave a Comment